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()
