Python 解析pymysql模块操作数据库的方法
pymysql是python用来操作MySQL的第三方库,下面具体介绍和使用该库的基本方法。
1.建立数据库连接
通过connect函数中parameter参数建立连接,连接成功返回Connection对象
importpymysql #建立数据库连接 connection=pymysql.connect(host='localhost', user='root', password='123456', database='mydb', charset='utf8' ) #print(connection)
pymysql.connect()函数中常用的连接参数有以下几种:
- host:数据库主机名或者ip地址
- port:端口号
- user:数据库的账号
- password或passwd:数据库的密码
- database或db:数据库的名字
- charset:编码方式
Connection对象的重要方法:
- close()关闭数据库连接
- commit()提交数据库事物
- rollback()回滚数据库事务
- cursor()获得Cursor游标对象
2.创建游标
一个Cursor游标对象,暂时保存了SQL操作所影响到的数据,相同的数据库连接创建的游标所引起的数据变化,会马上反应到同一连接中的其它游标对象。但是不同数据库连接中的游标对象,是否能及时反映出来,则与数据库事物管理有关。
Cursor对象基本方法和属性:
execute(operation,[parameters])
执行一条SQL语句,operation时SQL语句,parameters是其参数。返回值是整数,表示执行SQL语句影响的行数
executemany(operation,[parameters])
批量执行SQL语句
callproc(procname,[parameters])
执行存储过程,procname是存储过程名
使用execute()和executemany()方法查询后,通过以下提取方法提取结果集
fetchone()
从结果集当中返回一条记录的序列,无则返回None
fetchmany([size=cursor.arraysize])
从结果集当中返回小于或等于size的记录序列,无则返回空序列,size默认是整个游标的行数
fetchall()
从结果集当中返回所有的行数
3.建立数据库(这里我使用的是NaviCat)
创建一个名为pydb的数据库,表名为user,字段name和userid
数据的查找
#建立数据库连接 connection=pymysql.connect(host='localhost', user='root', password='123456', database='mydb', charset='utf8' ) #print(connection) try: #创建游标对象 withconnection.cursor()ascursor: #执行SQL操作 sql='selectname,useridfromuserwhereuserid>%(id)s' cursor.execute(sql,{'id':0}) #提取数据集 result_set=cursor.fetchall() forrowinresult_set: print('id:{0}-name:{1}'.format(row[1],row[0])) #游标自动关闭 finally: #关闭连接 connection.close()
数据插入
#数据增加 connection=pymysql.connect(host='localhost', user='root', password='123456', database='mydb', charset='utf8' ) try: withconnection.cursor()ascursor: sql='insertintouser(userid,name)values(%s,%s)' cursor.execute(sql,(3,'cc')) #affectcount=cursor.execute(sql,(3,'cc')) #print('影响的数据行数:{0}'.format(affectcount)) #提交数据库事务 connection.commit() exceptpymysql.DatabaseError: #数据库事务回滚 connection.rollback() finally: connection.close()
执行结果:
数据更新
#数据更新 connection=pymysql.connect(host='localhost', user='root', password='123456', database='mydb', charset='utf8' ) #print(connection) try: withconnection.cursor()ascursor: sql='updateusersetname=%swhereuserid>%s' cursor.execute(sql,('Tom',2)) #提交事务 connection.commit() print('更新成功') exceptpymysql.DatabaseErrorase: connection.rollback() print(e) finally: connection.close()
执行结果:
数据删除
#数据删除 connection=pymysql.connect(host='localhost', user='root', password='123456', database='mydb', charset='utf8' ) try: withconnection.cursor()ascursor: sql='deletefromuserwhereuserid=%s' cursor.execute(sql,(1)) #提交事务 connection.commit() print("删除成功") exceptpymysql.DatabaseErrorase: connection.rollback() print(e) finally: connection.close()
执行结果:
数据集进行的处理上,python体现的非常简洁,最主要易于使用和理解。人生苦短,我用python!
总结
以上所述是小编给大家介绍的Python解析pymysql模块操作数据库的方法,希望对大家有所帮助!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。