教你怎么用Python操作MySql數(shù)據(jù)庫
一、關于Python操作數(shù)據(jù)庫的概述
Python所有的數(shù)據(jù)庫接口程序都在一定程度上遵守 Python DB-API 規(guī)范。
DB-API定義了一系列必須的對象和數(shù)據(jù)庫存取方式,以便為各種底層數(shù)據(jù)庫系統(tǒng)和多種多樣的數(shù)據(jù)庫接口程序提供一致的訪問接口。由于DB-API 為不同的數(shù)據(jù)庫提供了一致的訪問接口, 在不同的數(shù)據(jù)庫之間移植代碼成為一件輕松的事情。
在Python中如果要連接數(shù)據(jù)庫,不管是MySQL、SQL Server、PostgreSQL亦或是SQLite,使用時都是采用游標的方式。
二、一般操作流程

三、安裝mysql的操作庫
$ pip3 install PyMySQL
四、基本操作
創(chuàng)建連接
import pymysql
# 創(chuàng)建連接方式1
db = pymysql.connect(host='localhost',
user='root', password='root', db='test', port=3306)
# 創(chuàng)建連接方式2
db = pymysql.connect(dsn='localhost:test', user='root', password='root')
close()
關閉此connect對象, 關閉后無法再進行操作,除非再次創(chuàng)建連接。
cursor()
創(chuàng)建游標對象。一個游標允許用戶執(zhí)行數(shù)據(jù)庫命令和得到查詢結果。一個 Python DB-API 游標對象總是扮演游標的角色, 無論數(shù)據(jù)庫是否真正支持游標。也就說,數(shù)據(jù)庫接口程序必須實現(xiàn)游標對象。創(chuàng)建游標對象之后, 你就可以執(zhí)行查詢或其它命令(或者多個查詢和多個命令), 也可以從結果集中取出一條或多條記錄。
commit()
提交當前事務,執(zhí)行游標對象的所有更新操作。
rollback()
取消當前事務,回滾當前游標的所有操作。
游標操作
cursor = db.cursor()
- close():關閉此游標對象
- fetchone():得到結果集的下一行
- fetchall():得到結果集中剩下的所有行
- excute(sql[, args]):執(zhí)行一個數(shù)據(jù)庫查詢或命令
- callproc(func[,args]): 調(diào)用一個存儲過程
查詢操作
import pymysql
db = pymysql.connect(host='localhost', user='root', password='root', db='test')
cursor = db.cursor()
sql = '''select * from t_account'''
try:
cursor.execute(sql)
# 方式1讀取結果集
rows = cursor.fetchall()
for row in rows:
print(row)
# 方式2讀取結果集
for i in range(cursor.rowcount):
result = cursor.fetchone()
print(result)
except Exception as e:
raise e
finally:
cursor.close()
db.close()
添加操作
import pymysql
db = pymysql.connect(host='localhost', user='root', password='root', db='test')
cursor = db.cursor()
sql = '''insert into t_account values(default,'zhangsan','z',100,'張三')'''
try:
print(cursor.execute(sql))
db.commit()
except:
db.rollback()
finally:
cursor.close()
db.close()
修改操作
import pymysql
db = pymysql.connect(host='localhost', user='root', password='root', db='test')
cursor = db.cursor()
sql = '''update t_account set realname = '李四' where id = '5' '''
try:
print(cursor.execute(sql))
db.commit()
except:
db.rollback()
finally:
cursor.close()
db.close()
刪除操作
import pymysql
db = pymysql.connect(host='localhost', user='root', password='root', db='test')
cursor = db.cursor()
sql = '''delete from t_account where id = '5' '''
try:
print(cursor.execute(sql))
db.commit()
except:
db.rollback()
finally:
cursor.close()
db.close()
調(diào)用存儲過程
cursor.callproc("存儲過程名稱")
for result in cursor.fetchall():
print(result)
到此這篇關于教你怎么用Python操作MySql數(shù)據(jù)庫的文章就介紹到這了,更多相關Python操作MySql內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- Python基礎之操作MySQL數(shù)據(jù)庫
- Python連接Postgres/Mysql/Mongo數(shù)據(jù)庫基本操作大全
- python中的mysql數(shù)據(jù)庫LIKE操作符詳解
- Python接口自動化淺析pymysql數(shù)據(jù)庫操作流程
- 利用python中pymysql操作MySQL數(shù)據(jù)庫的新手指南
- Python操作MySQL MongoDB Oracle三大數(shù)據(jù)庫深入對比
- Python MySQL數(shù)據(jù)庫基本操作及項目示例詳解
- python?實現(xiàn)?pymysql?數(shù)據(jù)庫操作方法
- Python練習之操作MySQL數(shù)據(jù)庫
相關文章
pyqt 實現(xiàn)QlineEdit 輸入密碼顯示成圓點的方法
今天小編就為大家分享一篇pyqt 實現(xiàn)QlineEdit 輸入密碼顯示成圓點的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06
python實現(xiàn)的web監(jiān)控系統(tǒng)
這篇文章主要介紹了python實現(xiàn)的web監(jiān)控系統(tǒng),幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下2021-04-04
Python利用keras接口實現(xiàn)深度神經(jīng)網(wǎng)絡回歸
這篇文章主要為大家詳細介紹了基于Python語言中TensorFlow的Keras接口,實現(xiàn)深度神經(jīng)網(wǎng)絡回歸的方法。文中的示例代碼講解詳細,感興趣的可以了解一下2023-02-02
Python如何快速生成本項目的requeirments.txt實現(xiàn)
本文主要介紹了Python如何快速生成本項目的requeirments.txt實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-03-03

