MySQLdb是Python操作MySQL的一個模塊,可以讓Python程序輕鬆地和MySQL數據庫進行數據交互。MySQLdb模塊提供了比Python內置庫更好的MySQL支持,使得數據庫的操作變得簡單和可擴展。本文將介紹如何安裝MySQLdb模塊和一些技巧,以便於您輕鬆地在Python中使用MySQL。
一、安裝MySQLdb模塊
在Python中安裝MySQLdb模塊可以通過以下幾個步驟:
1、檢查是否已安裝Python和相關的開發包,如mysql-devel:
$ python --version #檢查Python版本
Python 3.6.8
$ yum install mysql-devel #安裝mysql-devel包
2、下載MySQLdb模塊源碼:
$ wget https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.5.tar.gz
3、解壓並進行安裝:
$ tar zxvf MySQL-python-1.2.5.tar.gz
$ cd MySQL-python-1.2.5
$ python setup.py install
如果您的Python版本是3.x,則需要在執行python setup.py install前先執行2to3轉換腳本來將源碼轉換為Python 3.x兼容的代碼:
$ 2to3 -w MySQL-python-1.2.5
4、安裝完成後,驗證MySQLdb模塊是否成功安裝:
$ python
>>> import MySQLdb
如果沒有出現錯誤,則說明MySQLdb模塊已經成功安裝。
二、使用MySQLdb模塊連接MySQL數據庫
使用MySQLdb模塊連接MySQL數據庫需要以下幾個步驟:
1、導入MySQLdb模塊:
import MySQLdb
2、連接MySQL數據庫:
db = MySQLdb.connect(host="localhost", # 主機名
user="root", # 用戶名
passwd="password", # 密碼
db="test") # 數據庫名
注意,connect方法的參數需要根據實際情況進行修改。
3、獲取游標對象,用於執行SQL語句:
cursor = db.cursor()
4、執行SQL語句:
cursor.execute("SELECT * FROM students")
5、獲取結果集:
results = cursor.fetchall()
6、關閉游標和數據庫連接:
cursor.close()
db.close()
完整的Python代碼如下所示:
import MySQLdb
db = MySQLdb.connect(host="localhost", user="root", passwd="password", db="test")
cursor = db.cursor()
cursor.execute("SELECT * FROM students")
results = cursor.fetchall()
for row in results:
print(row)
cursor.close()
db.close()
三、使用MySQLdb模塊插入數據
使用MySQLdb模塊插入數據需要以下幾個步驟:
1、導入MySQLdb模塊:
import MySQLdb
2、連接MySQL數據庫:
db = MySQLdb.connect(host="localhost", user="root", passwd="password", db="test")
3、獲取游標對象,用於執行SQL語句:
cursor = db.cursor()
4、執行SQL語句:
sql = "INSERT INTO students(name, age, sex) VALUES ('Tom', 18, 'M')"
try:
# 執行SQL語句
cursor.execute(sql)
# 提交到數據庫執行
db.commit()
except:
# Rollback in case there is any error
db.rollback()
5、關閉游標和數據庫連接:
cursor.close()
db.close()
完整的Python代碼如下所示:
import MySQLdb
db = MySQLdb.connect(host="localhost", user="root", passwd="password", db="test")
cursor = db.cursor()
sql = "INSERT INTO students(name, age, sex) VALUES ('Tom', 18, 'M')"
try:
cursor.execute(sql)
db.commit()
except:
db.rollback()
cursor.close()
db.close()
四、MySQLdb模塊的一些技巧
1、使用fetchone()方法獲取單條記錄
fetchone()方法用於獲取結果集中的一條記錄:
cursor.execute("SELECT * FROM students")
result = cursor.fetchone()
2、使用executemany()方法插入多條記錄
executemany()方法用於向數據庫中插入多條記錄:
sql = "INSERT INTO students(name, age, sex) VALUES (%s, %s, %s)"
data = [("Tom", 18, "M"), ("Jerry", 19, "F"), ("Lucy", 20, "F")]
cursor.executemany(sql, data)
3、使用fetchall()方法獲取全部結果集
fetchall()方法用於獲取結果集中的所有記錄:
cursor.execute("SELECT * FROM students")
results = cursor.fetchall()
以上是使用MySQLdb模塊的一些基本步驟和技巧。當然,還有其他的操作方法,您可以查閱MySQLdb模塊的官方文檔。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/310053.html