Python pymysql對數據庫的基礎操作


示例數據庫名demo,表名info
select * from info; 查看該表數據

+----+-------+--------+-----+---------------------+---------------------+
| id | name  | gender | age | createTime          | updateTime          |
+----+-------+--------+-----+---------------------+---------------------+
|  1 | Miles | Male   |  21 | 2019-12-24 10:10:41 | 2019-12-24 10:11:02 |
|  2 | Mary  | Female |  15 | 2019-12-24 19:26:24 | 2019-12-24 19:26:24 |
|  3 | Marx  | Male   |  35 | 2019-12-24 19:39:19 | 2019-12-24 19:39:19 |
|  4 | Fox   | Female |   8 | 2019-12-24 19:39:19 | 2019-12-24 19:39:19 |
+----+-------+--------+-----+---------------------+---------------------+

查詢數據

獲取查詢結果的三種方法:

  • fetchone() 獲取查詢結果中最早的一行數據,返回結果為一個元組,對應查詢的字段,如果查詢結果為空則返回None
  • fetchall() 獲取所有的查詢結果,返回結果為一個大元組,大元組中每個元素為小元組,小元組就是每一行的數據,對應查詢的字段,如果查詢結果為空則返回一個空元組
  • fetchmany() 和fetchall()類似,只不過要傳入一個整數表示要獲取多少行數據,從最早開始算,如果傳入參數大於結果條數則獲取所有結果,如果查詢結果為空則返回空元組
import pymysql

# 連接數據庫服務器,參數:IP地址,用戶名,密碼,要使用的數據庫名稱,編碼格式
conn = pymysql.connect('服務器ip地址', 'mysql用戶名', 'mysql密碼', '數據庫名', charset='utf8')

# 獲得一個游標對象來操作數據庫
cur = conn.cursor()

# 編寫sql
sql = 'select name, gender, age from info;'

# 傳入sql並執行
cur.execute(sql)

# 使用fetchone,fetchmany,fetchall三種方法之一獲得查詢的結果
result = cur.fetchall()

# 關閉游標和數據庫連接
cur.close()
conn.close()

# 打印結果
print(result)

輸出結果:

# fetchone()
('Miles', 'Male', 21)

# fetchall()
(('Miles', 'Male', 21), ('Mary', 'Female', 15), ('Marx', 'Male', 35), ('Fox', 'Female', 8))

# fetchmany(2)
(('Miles', 'Male', 21), ('Mary', 'Female', 15))

增刪改

增刪改操作不需要獲得結果,但是要commit提交操作

import pymysql

# 連接數據庫服務器,參數:IP地址,用戶名,密碼,要使用的數據庫名稱,編碼格式
conn = pymysql.connect('服務器ip地址', 'mysql用戶名', 'mysql密碼', '數據庫名', charset='utf8')

# 獲得一個游標對象來操作數據庫
cur = conn.cursor()

# 編寫sql
sql = 'insert into info(name, gender, age) values("Demo", "Male", 10);'     # 新增數據
# sql = 'delete from info where name="Miles";'                              # 刪除數據
# sql = 'update info set name="Mark" where name="Marx";'                    # 修改數據

# 傳入sql並執行
cur.execute(sql)

# 提交修改
conn.commit()

# 關閉游標和數據庫連接
cur.close()
conn.close()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM