PySQL
PySQL旨在完全替代sqlplus(還有更多)。它具有歷史,完成和行編輯等功能。它具有高級功能(搜索表,索引,計數,說明計劃,會話列表等),爲屏幕和文件提供適當的輸出(CSV可以包含在電子表格中),支持用戶定義的SQL,後臺查詢,模式數據模型,對象依賴項,PL / SQL包函數調用樹的圖形輸出,等等。
Python使用pysql連接數據庫
1.導包
import pymysql
2.連接數據庫
connection = pymysql.connect(
host='', # 數據庫地址
user='', # 數據庫用戶名
password='', # 數據庫密碼
db='', # 數據庫名稱
# charset = 'utf8 -- UTF-8 Unicode'
)
3.創建遊標
cursor = connecion.cursor()
4.數據操作
- 查詢
#SQL語句
sql = 'select * from user'
#execute執行操作
cursor.execute(sql)
result = cursor.fetchall()
print(type(result),cursor.rowcount)
print(result)
fetchall 查詢時獲取結果集中的所有行,一行構成一個元組,然後再將這些元組返回(即嵌套元組)。
ferchone 查詢時獲取結果集的第一行數據,返回一個元組,該元組元素即爲第一行數據,如果沒有則爲null(注:在python中使用應爲None)
execute 爲單條數據插入
executemany 批量數據插入
cursor.rowcount 用來記錄操作次數
- 插入(批量插入)
#插入SQL語句
sql = 'insert into user(username,sex,password,pid,tel) values (%s,%s,%s,%s,%s)'
#插入數據
data = [
('test1', '男', '123456', 3, '110'),
('test2', '女', '123456', 2, '120'),
]
#拼接並執行SQL語句
cursor.executemany(sql,data)
#涉及寫操作要提交
connection.commit()
print(cursor.rowcount)
不管數據庫中的數據類型是什麼,在sql語句中統一使用字符串類型%s
connection.commit() 涉及寫操作要提交
- 修改
#修改SQL語句
sql = 'update user set tel="12345622" where id="64"'
#執行SQL語句
cursor.execute(sql)
connection.commit()
print(cursor.rowcount)
- 刪除
#刪除SQL語句
sql = 'delete from user where id = 64'
cursor.execute(sql)
connection.commit()
print(cursor.rowcount)
關閉
#關閉遊標
cursor.close()
#關閉連接
connection.close()