1.增,删,改
必须运行此语句,才能插入数据:conn.commit()
import pymysql conn = pymysql.connect(host="localhost",user='root',password='',database="db666") cursor = conn.cursor() sql = "insert into userinfo1(username,password) values('root','123123')" cursor.execute(sql)
cursor.executemany(sql)
conn.commit()
2.查
fetchone() 一次取一条数据
fetchall() 一次取所有数据(sql语句查到的所有数据)
fetchmany(num) 一次取num条数据 ,一般不用
# 查 conn = pymysql.connect(host="localhost", user='root', password='', database='db666') cursor = conn.cursor() # 连接数据库db666成功 sql = "select * from userinfo1" cursor.execute(sql) # 执行sql语句,得到结果 result = cursor.fetchall() print(result) # 打印结果 # 断开连接 cursor.close() conn.close()
注:在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置,如:
- cursor.scroll(1,mode='relative') # mode='relative',代表相对当前位置移动
- cursor.scroll(2,mode='absolute') # mode='absolute',代表相对绝对位置移动
查询默认是元祖类型,可更改为字典类型
# 游标设置为字典类型 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
显示新插入数据的自增id
# 显示自增id conn = pymysql.connect(host="localhost", user='root', password='', database='db666') cursor = conn.cursor(pymysql.cursors.DictCursor) # 连接数据库db666成功 sql = "insert into userinfo1(username,password) values('bbb', ('123456'))"
# up_id = cursor.lastrowid 这种写法会报错
cursor.execute(sql) conn.commit() print(cursor.lastrowid) #显示自增id # 执行sql语句,得到结果 result = cursor.fetchall() print(result) # 打印结果 # 断开连接 cursor.close() conn.close()