1. 程式人生 > 資料庫 >Python 中使用 PyMySQL模組操作資料庫的方法

Python 中使用 PyMySQL模組操作資料庫的方法

之前用的Python2,連線MySQL用的是MySQLdb。現在換成python3.x了,由於 MySQLdb 模組還不支援 Python3.x,所以 Python3.x 如果想連線MySQL需要安裝 PyMySQL模組,以下將介紹PyMySQL的安裝及常用操作。

一、安裝

pip install PyMySQL

二、常用操作

查詢資料

import pymysql
# 連線資料庫
conn = pymysql.connect(
  host='127.0.0.1',user='root',passwd='root',port=3306,db='test',charset='utf8'
)
# 建立一個遊標
cursor = conn.cursor()
# 查詢資料
sql = "select * from user"
cursor.execute(sql) # 執行sql
# 查詢所有資料,返回結果預設以元組形式,所以可以進行迭代處理
for i in cursor.fetchall():
  print(i)
print('共查詢到:',cursor.rowcount,'條資料。')
# 獲取第一行資料
result_1 = cursor.fetchone()
print(result_1)
# 獲取前n行資料
result_3 = cursor.fetchmany(3)
print(result_3)
cursor.close() # 關閉遊標
conn.close() # 關閉連線

插入資料

執行完插入語句後一定要執行.commit()進行提交事務,可以插入多條後統一提交,否則操作無效

import pymysql
# 連線資料庫
conn = pymysql.connect(
  host='127.0.0.1',charset='utf8'
)
# 建立一個遊標
cursor = conn.cursor()
# 插入資料
# 資料直接寫在sql後面
sql = "insert into username(id,name) values(%s,%s)" # 注意是%s,不是s%
cursor.execute(sql,[3,'王五']) # 列表格式資料
cursor.execute(sql,(4,'馬六')) # 元組格式資料
# 資料單獨賦給一個物件
sql = "insert into username values(%s,%s)"
data = (5,'老七')
cursor.execute(sql,data) #sql和data之間以","隔開
sql = "insert into username values(%s,'%s')"
data = (6,'小八')
cursor.execute(sql % data) #sql和data之間以"%"隔開,此時它的sql中注意要給中文字元對應的佔位符加上引號,即"%s",不然會報錯:unsupported format character
conn.commit()  # 提交,不然無法儲存插入或者修改的資料(這個一定不要忘記加上)
cursor.close() # 關閉遊標
conn.close() # 關閉連線

修改資料

執行完修改語句後一定要執行.commit()進行提交事務,可以修改多條後統一提交,否則操作無效

import pymysql
# 連線資料庫
conn = pymysql.connect(
  host='127.0.0.1',charset='utf8'
)
# 建立一個遊標
cursor = conn.cursor()
# 修改資料
sql = "update username set name='%s' where id=%s" #注意%s什麼時候加引號,什麼時候不加
data = ('改名了',1)
cursor.execute(sql % data)
sql = "update username set name=%s where id=%s"
data = ('也改名了',2)
cursor.execute(sql,data)
conn.commit()  # 提交,不然無法儲存插入或者修改的資料
cursor.close() # 關閉遊標
conn.close() # 關閉連線

刪除資料

執行完刪除語句後一定要執行.commit()進行提交事務,可以刪除多條後統一提交,否則操作無效

import pymysql
# 連線資料庫
conn = pymysql.connect(
  host='127.0.0.1',charset='utf8'
)
# 建立一個遊標
cursor = conn.cursor()
# 刪除資料
sql = "delete from username where id=%s"
data = (2)
cursor.execute(sql,data)
conn.commit()  # 提交,不然刪除操作不生效
cursor.close() # 關閉遊標
conn.close() # 關閉連線

總結

以上所述是小編給大家介紹的Python 中使用 PyMySQL操作資料庫的方法,希望對大家有所幫助!