mysql系列--pymysql模块(python中的模块)
一.pymssql模块
pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。
本文测试python版本:2.7.11。mysql版本:5.6.24
二.安装
pip3 install pymysql
三.使用的方法
1.基本使用是如下:
import pymysql '''建立连接 ''' conn=pymysql.connect( host='127.0.0.1', port=3306, user='root', password='456', database='day45', charset='utf8' ) ver=conn.cursor()#拿到游标 '''增加记录''' # insert_sql='insert into userinfo(user,password) VALUES ("%s","%s")'%('alex','alex3714') # ver.execute('insert into userinfo(user,password) VALUES ("wpq","123"); ') # ver.execute(insert_sql)#传入sql语句 '''一般用下面这种增加记录''' # insert_sql='insert into userinfo(user,password) VALUES (%s,%s)' # ver.execute(insert_sql,('egon','123'))#插入一条值 # ver.executemany(insert_sql,[('egon1','123'),('egon2','123'),('egon3','123')])#插入多条值 '''删除''' # insert_sql='delete from day45.userinfo where user="egon"' # ver.execute(insert_sql) '''修改''' # insert_sql='update userinfo set user="alexsb" where id="6"' # # ver.execute(insert_sql) '''查记录''' # sql='select * from userinfo' # row=ver.execute(sql) # print(row) # # print(ver.fetchone())#取第一数据 # print(ver.fetchmany(2))#取两个数据 # print(ver.fetchall())#取剩下的所有的数据 # # # conn.commit()#把内容写到数据真正的写到数据库中的硬盘中去 # ver.close()#关闭游标 # conn.close()#关闭连接
2.执行过程
import pymysql # 创建连接 conn = pymysql.connect( host='127.0.0.1', port=3306, user='root', passwd='', db='tkq1', charset='utf8') # 创建游标 cursor = conn.cursor() # 执行SQL,并返回收影响行数 effect_row = cursor.execute("select * from tb7") # 执行SQL,并返回受影响行数 # effect_row = cursor.execute("update tb7 set pass = '123' where nid = %s", (11,)) # 执行SQL,并返回受影响行数,执行多次 # effect_row = cursor.executemany("insert into tb7(user,pass,licnese)values(%s,%s,%s)", [("u1","u1pass","11111"),("u2","u2pass","22222")]) # 提交,不然无法保存新建或者修改的数据 conn.commit() # 关闭游标 cursor.close() # 关闭连接 conn.close()
3.移动游标
操作都是靠游标,那对游标的控制也是必须的
#注:在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置,如: cursor.scroll(1,mode='relative') # 相对当前位置移动 cursor.scroll(2,mode='absolute') # 相对绝对位置移动
4.获取创建自增ID的最后一条记录的值
import pymysql conn=pymysql.connect(host='localhost',user='root',password='123',database='egon') cursor=conn.cursor() sql='insert into userinfo(name,password) values("xxx","123");' rows=cursor.execute(sql) print(cursor.lastrowid) #在插入语句后查看(最后一个的自增ID的值) conn.commit() cursor.close() conn.close()

浙公网安备 33010602011771号