您好,登錄后才能下訂單哦!
本篇文章為大家展示了Python如何操作MySql數據庫,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
Python所有的數據庫接口程序都在一定程度上遵守 Python DB-API 規范。
DB-API定義了一系列必須的對象和數據庫存取方式,以便為各種底層數據庫系統和多種多樣的數據庫接口程序提供一致的訪問接口。由于DB-API 為不同的數據庫提供了一致的訪問接口, 在不同的數據庫之間移植代碼成為一件輕松的事情。
在Python中如果要連接數據庫,不管是MySQL、SQL Server、PostgreSQL亦或是SQLite,使用時都是采用游標的方式。
$ pip3 install PyMySQL
創建連接
import pymysql # 創建連接方式1 db = pymysql.connect(host='localhost', user='root', password='root', db='test', port=3306) # 創建連接方式2 db = pymysql.connect(dsn='localhost:test', user='root', password='root')
close()
關閉此connect對象, 關閉后無法再進行操作,除非再次創建連接。
cursor()
創建游標對象。一個游標允許用戶執行數據庫命令和得到查詢結果。一個 Python DB-API 游標對象總是扮演游標的角色, 無論數據庫是否真正支持游標。也就說,數據庫接口程序必須實現游標對象。創建游標對象之后, 你就可以執行查詢或其它命令(或者多個查詢和多個命令), 也可以從結果集中取出一條或多條記錄。
commit()
提交當前事務,執行游標對象的所有更新操作。
rollback()
取消當前事務,回滾當前游標的所有操作。
游標操作
cursor = db.cursor()
close():關閉此游標對象
fetchone():得到結果集的下一行
fetchall():得到結果集中剩下的所有行
excute(sql[, args]):執行一個數據庫查詢或命令
callproc(func[,args]): 調用一個存儲過程
查詢操作
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()
調用存儲過程
cursor.callproc("存儲過程名稱") for result in cursor.fetchall(): print(result)
上述內容就是Python如何操作MySql數據庫,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。