增
# 導入pymysql模塊
import pymysql
# 連接database
conn = pymysql.connect(host=“你的數據庫地址”, user=“用戶名”,password=“密碼”,database=“數據庫名”,charset=“utf8”)
# 得到一個可以執行SQL語句的光標對象
cursor = conn.cursor()
sql = "INSERT INTO USER1(name, age) VALUES (%s, %s);"
username = "Alex"
age = 18
# 執行SQL語句
cursor.execute(sql, [username, age])
# 提交事務
conn.commit()
cursor.close()
conn.close()
插入數據失敗回滾
在執行增刪改操作時,如果不想提交前面的操作,可以使用 rollback() 回滾取消操作。
# 導入pymysql模塊
import pymysql
# 連接database
conn = pymysql.connect(host=“你的數據庫地址”, user=“用戶名”,password=“密碼”,database=“數據庫名”,charset=“utf8”)
# 得到一個可以執行SQL語句的光標對象
cursor = conn.cursor()
sql = "INSERT INTO USER1(name, age) VALUES (%s, %s);"
username = "Alex"
age = 18
try:# 執行SQL語句cursor.execute(sql, [username, age])# 提交事務conn.commit()
except Exception as e:# 有異常,回滾事務conn.rollback()
cursor.close()
conn.close()
?
獲取插入數據的ID(關聯操作時會用到)
# 導入pymysql模塊
import pymysql
# 連接database
conn = pymysql.connect(host=“你的數據庫地址”, user=“用戶名”,password=“密碼”,database=“數據庫名”,charset=“utf8”)
# 得到一個可以執行SQL語句的光標對象
cursor = conn.cursor()
sql = "INSERT INTO USER1(name, age) VALUES (%s, %s);"
username = "Alex"
age = 18
try:# 執行SQL語句cursor.execute(sql, [username, age])# 提交事務conn.commit()# 提交之后,獲取剛插入的數據的IDlast_id = cursor.lastrowid
except Exception as e:# 有異常,回滾事務conn.rollback()
cursor.close()
conn.close()
?
批量執行
# 導入pymysql模塊
import pymysql
# 連接database
conn = pymysql.connect(host=“你的數據庫地址”, user=“用戶名”,password=“密碼”,database=“數據庫名”,charset=“utf8”)
# 得到一個可以執行SQL語句的光標對象
cursor = conn.cursor()
sql = "INSERT INTO USER1(name, age) VALUES (%s, %s);"
data = [("Alex", 18), ("Egon", 20), ("Yuan", 21)]
try:# 批量執行多條插入SQL語句cursor.executemany(sql, data)# 提交事務conn.commit()
except Exception as e:# 有異常,回滾事務conn.rollback()
cursor.close()
conn.close()
?
刪
?
# 導入pymysql模塊
import pymysql
# 連接database
conn = pymysql.connect(host=“你的數據庫地址”, user=“用戶名”,password=“密碼”,database=“數據庫名”,charset=“utf8”)
# 得到一個可以執行SQL語句的光標對象
cursor = conn.cursor()
sql = "DELETE FROM USER1 WHERE id=%s;"
try:cursor.execute(sql, [4])# 提交事務conn.commit()
except Exception as e:# 有異常,回滾事務conn.rollback()
cursor.close()
conn.close()
?
改
?
# 導入pymysql模塊
import pymysql
# 連接database
conn = pymysql.connect(host=“你的數據庫地址”, user=“用戶名”,password=“密碼”,database=“數據庫名”,charset=“utf8”)
# 得到一個可以執行SQL語句的光標對象
cursor = conn.cursor()
# 修改數據的SQL語句
sql = "UPDATE USER1 SET age=%s WHERE name=%s;"
username = "Alex"
age = 80
try:# 執行SQL語句cursor.execute(sql, [age, username])# 提交事務conn.commit()
except Exception as e:# 有異常,回滾事務conn.rollback()
cursor.close()
conn.close()
查
查詢單條數據
# 導入pymysql模塊
import pymysql
# 連接database
conn = pymysql.connect(host=“你的數據庫地址”, user=“用戶名”,password=“密碼”,database=“數據庫名”,charset=“utf8”)
# 得到一個可以執行SQL語句的光標對象
cursor = conn.cursor()
# 查詢數據的SQL語句
sql = "SELECT id,name,age from USER1 WHERE id=1;"
# 執行SQL語句
cursor.execute(sql)
# 獲取單條查詢數據
ret = cursor.fetchone()
cursor.close()
conn.close()
# 打印下查詢結果
print(ret)
?
查詢多條數據
# 導入pymysql模塊
import pymysql
# 連接database
conn = pymysql.connect(host=“你的數據庫地址”, user=“用戶名”,password=“密碼”,database=“數據庫名”,charset=“utf8”)
# 得到一個可以執行SQL語句的光標對象
cursor = conn.cursor()
# 查詢數據的SQL語句
sql = "SELECT id,name,age from USER1;"
# 執行SQL語句
cursor.execute(sql)
# 獲取多條查詢數據
ret = cursor.fetchall()
cursor.close()
conn.close()
# 打印下查詢結果
print(ret)
?
?進階用法
# 可以獲取指定數量的數據
cursor.fetchmany(3)
# 光標按絕對位置移動1
cursor.scroll(1, mode="absolute")
# 光標按照相對位置(當前位置)移動1
cursor.scroll(1, mode="relative")
轉載:https://www.cnblogs.com/liwenzhou/p/8032238.html
?
?
?
?