Python培训技巧:python操作MySQL数据库

编辑:光环大数据 来源: 互联网 时间: 2017-10-16 11:10 阅读:

Python培训技巧:python操作MySQL数据库。  坚持每天学一点,每天积累一点点,作为自己每天的业余收获,这个文章是我在吃饭的期间写的,利用自己零散的时间学了一下python操作MYSQL,所以整理一下。

我采用的是MySQLdb操作的MYSQL数据库。先来一个简单的例子吧:
   

importMySQLdb

try:

conn=MySQLdb.connect(host='localhost',user='root',passwd='root',db='test',port=3306)

cur=conn.cursor()

cur.execute('select*fromuser')

cur.close()

conn.close()

exceptMySQLdb.Error,e:

print"MysqlError%d:%s"%(e.args[0],e.args[1])

请注意修改你的数据库,主机名,用户名,密码。

下面来大致演示一下插入数据,批量插入数据,更新数据的例子吧:


importMySQLdb

try:

conn=MySQLdb.connect(host='localhost',user='root',passwd='root',port=3306)

cur=conn.cursor()

cur.execute('createdatabaseifnotexistspython')

conn.select_db('python')

cur.execute('createtabletest(idint,infovarchar(20))')

value=[1,'hirollen']

cur.execute('insertintotestvalues(%s,%s)',value)

values=[]

foriinrange(20):

values.append((i,'hirollen'+str(i)))

cur.executemany('insertintotestvalues(%s,%s)',values)

cur.execute('updatetestsetinfo="Iamrollen"whereid=3')

conn.commit()

cur.close()

conn.close()

exceptMySQLdb.Error,e:

print"MysqlError%d:%s"%(e.args[0],e.args[1])

请注意一定要有conn.commit()这句来提交事务,要不然不能真正的插入数据。

运行之后我的MySQL数据库的结果就不上图了。



importMySQLdb

try:

conn=MySQLdb.connect(host='localhost',user='root',passwd='root',port=3306)

cur=conn.cursor()

conn.select_db('python')

count=cur.execute('select*fromtest')

print'therehas%srowsrecord'%count

result=cur.fetchone()

printresult

print'ID:%sinfo%s'%result

results=cur.fetchmany(5)

forrinresults:

printr

print'=='*10

cur.scroll(0,mode='absolute')

results=cur.fetchall()

forrinresults:

printr[1]

conn.commit()

cur.close()

conn.close()

exceptMySQLdb.Error,e:

print"MysqlError%d:%s"%(e.args[0],e.args[1])

运行结果就不贴了,太长了。

查询后中文会正确显示,但在数据库中却是乱码的。经过我从网上查找,发现用一个属性有可搞定:

在Python代码

conn=MySQLdb.Connect(host='localhost',user='root',passwd='root',db='python')中加一个属性:

改为:

conn=MySQLdb.Connect(host='localhost',user='root',passwd='root',db='python',charset='utf8')

charset是要跟你数据库的编码一样,如果是数据库是gb2312,则写charset='gb2312'。

下面贴一下常用的函数:

然后,这个连接对象也提供了对事务操作的支持,标准的方法

commit()提交

rollback()回滚

cursor用来执行命令的方法:

callproc(self,procname,args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数

execute(self,query,args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数

executemany(self,query,args):执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数

nextset(self):移动到下一个结果集

cursor用来接收返回值的方法:

fetchall(self):接收全部的返回结果行.

fetchmany(self,size=None):接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据.

fetchone(self):返回一条结果行.

scroll(self,value,mode='relative'):移动指针到某一行.如果mode='relative',则表示从当前所在行移动value条,如果mode='absolute',则表示从结果集的第一行移动value条.


大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 更多问题咨询,欢迎点击------>>>>在线客服

你可能也喜欢这些

在线客服咨询

领取资料

X
立即免费领取

请准确填写您的信息

点击领取
#第三方统计代码(模版变量) '); })();
'); })();