Python使用PyMySql增刪改查Mysql數據庫的實現
PyMysql簡介
PyMysql是Python中用于連接MySQL數據庫的一個第三方庫,它實現了MySQL客戶端/服務器協議,使得Python程序能夠與MySQL服務器進行交互。由于Python2的mysql-python(又稱mysqldb)模塊在Python 3上支持不夠完善,因此pymysql成為了在Python3.x環(huán)境中一個流行的替代方案。
PyMysql的主要特點和功能:
- 兼容性:pymysql與Python 3完全兼容,并且可以在Python
2.7及更高版本上運行,為跨Python版本的應用提供統(tǒng)一的MySQL數據庫操作接口。 - API設計:提供了類似DB-API 2.0規(guī)范的接口,使得開發(fā)者可以使用熟悉的執(zhí)行SQL語句、獲取結果集等方法。
- 安全連接:支持安全的SSL加密連接到MySQL服務器。
- 事務處理:通過commit()和rollback()方法支持事務控制。
- 參數化查詢:允許使用占位符(%s)進行參數化SQL查詢,有效防止SQL注入攻擊。
- 多結果集:對于支持多結果集的MySQL命令,如存儲過程,pymysql也能夠正確處理。
基本用法步驟:
- 安裝pymysql(通常使用pip install pymysql)
- 創(chuàng)建數據庫連接
- 創(chuàng)建游標對象并執(zhí)行SQL語句
- 處理查詢結果
- 提交或回滾事務
- 關閉游標和數據庫連接
以下使用PyMysql增刪改查Mysql數據庫
創(chuàng)建數據庫
CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `email` varchar(100) NOT NULL, `password` varchar(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
連接MySql數據庫
import pymysql # 連接MySQL數據庫 db = pymysql.connect("localhost", "your_username", "your_password", "your_database") # 創(chuàng)建一個游標對象cursor cursor = db.cursor()
查詢數據(SELECT)
import pymysql # 連接MySQL數據庫 db = pymysql.connect("localhost", "your_username", "your_password", "your_database") # 創(chuàng)建一個游標對象cursor cursor = db.cursor() try: sql = "SELECT * FROM users WHERE username = %s" val = ("test_user",) cursor.execute(sql, val) results = cursor.fetchall() for row in results: print(f"ID: {row[0]}, Username: {row[1]}, Email: {row[2]}, Password: {row[3]}") except Exception as e: print(f"查詢數據失敗: {e}")
插入數據(INSERT)
import pymysql # 連接MySQL數據庫 db = pymysql.connect("localhost", "your_username", "your_password", "your_database") # 創(chuàng)建一個游標對象cursor cursor = db.cursor() # 插入數據(INSERT) try: sql = "INSERT INTO users (username, email, password) VALUES (%s, %s, %s)" val = ("test_user", "test@example.com", "test_password") cursor.execute(sql, val) db.commit() print("插入數據成功") except Exception as e: db.rollback() # 發(fā)生錯誤時回滾 print(f"插入數據失敗: {e}")
更新數據(UPDATE)
import pymysql # 連接MySQL數據庫 db = pymysql.connect("localhost", "your_username", "your_password", "your_database") # 創(chuàng)建一個游標對象cursor cursor = db.cursor() try: sql = "UPDATE users SET email = %s WHERE username = %s" val = ("new_email@example.com", "test_user") cursor.execute(sql, val) db.commit() print("更新數據成功") except Exception as e: db.rollback() print(f"更新數據失敗: {e}")
刪除數據(DELETE)
import pymysql # 連接MySQL數據庫 db = pymysql.connect("localhost", "your_username", "your_password", "your_database") # 創(chuàng)建一個游標對象cursor cursor = db.cursor() try: sql = "DELETE FROM users WHERE username = %s" val = ("test_user",) cursor.execute(sql, val) db.commit() print("刪除數據成功") except Exception as e: db.rollback() print(f"刪除數據失敗: {e}")
關閉連接
cursor.close() db.close()
請確保將上述代碼中的"your_username", “your_password”, "your_database"替換為你的實際數據庫用戶名、密碼和數據庫名。
到此這篇關于Python使用PyMySql增刪改查Mysql數據庫的實現的文章就介紹到這了,更多相關PyMySql增刪改查Mysql內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Django + Uwsgi + Nginx 實現生產環(huán)境部署的方法
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比較常見的一種方式。這篇文章主要介紹了Django + Uwsgi + Nginx 實現生產環(huán)境部署,感興趣的小伙伴們可以參考一下2018-06-06python實現鳶尾花三種聚類算法(K-means,AGNES,DBScan)
這篇文章主要介紹了python實現鳶尾花三種聚類算法(K-means,AGNES,DBScan),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-06-06Python?Pandas如何獲取和修改任意位置的值(at,iat,loc,iloc)
在我們對數據進行選擇之后,需要對特定的數據進行設置更改,設置,下面這篇文章主要給大家介紹了關于Python?Pandas如何獲取和修改任意位置的值(at,iat,loc,iloc)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-01-01使用 prometheus python 庫編寫自定義指標的方法(完整代碼)
這篇文章主要介紹了使用 prometheus python 庫編寫自定義指標的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06