Python 3 – MySQL數據庫訪問
MySQL是一種流行的關系型數據庫管理系統,而Python 3是一個功能強大的編程語言,它具有可以簡化MySQL數據庫訪問的一些內置模塊和擴展包。愛掏網 - it200.com
在本文中,我們將演示如何使用Python 3實現MySQL數據庫的連接、數據查詢、數據更新、數據插入和數據刪除等操作。愛掏網 - it200.com
安裝MySQL數據庫
在開始之前,我們需要先安裝MySQL數據庫。愛掏網 - it200.com對于Windows用戶,可以直接前往MySQL官方網站(https://dev.mysql.com/downloads/windows/installer/)下載安裝程序。愛掏網 - it200.com對于Linux用戶,則可以通過如下命令進行安裝:
sudo apt-get update
sudo apt-get install mysql-server
在安裝完成后,我們需要建立一個數據庫,可以通過如下命令進行創建:
mysql -u root -p
create database testdb;
連接MySQL數據庫
在Python 3中,我們可以使用PyMySQL模塊來連接MySQL數據庫。愛掏網 - it200.com可以通過以下方式安裝PyMySQL模塊:
pip3 install pymysql
接下來,我們可以使用下面的代碼來連接數據庫:
import pymysql
# 打開數據庫連接
db = pymysql.connect("localhost", "root", "password", "testdb")
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# 執行SQL語句
cursor.execute("SELECT VERSION()")
# 獲取一條數據
data = cursor.fetchone()
print("Database version : %s " % data)
# 關閉游標和數據庫連接
cursor.close()
db.close()
上述代碼中,我們使用pymysql庫的connect()方法來連接數據庫。愛掏網 - it200.com其中,參數”localhost”代表數據庫所在的主機ip地址,”root”代表登錄數據庫時的用戶名,”password”代表登錄數據庫時的密碼,”testdb”代表將要連接的數據庫名稱。愛掏網 - it200.com
接下來,我們使用cursor()方法獲取操作游標,并使用execute()方法來執行SQL語句。愛掏網 - it200.com最后,我們使用fetchone()方法獲取第一條數據,并輸出結果。愛掏網 - it200.com
數據查詢
在Python 3中,我們可以使用SELECT語句來查詢數據庫中的數據。愛掏網 - it200.com具體方式如下:
import pymysql
# 打開數據庫連接
db = pymysql.connect("localhost", "root", "password", "testdb")
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# SQL 查詢語句
sql = "SELECT * FROM EMPLOYEE \
WHERE INCOME > '%d'" % (1000)
try:
# 執行SQL語句
cursor.execute(sql)
# 獲取所有記錄列表
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# 打印結果
print("fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \
(fname, lname, age, sex, income))
except:
print("Error: unable to fetch data")
# 關閉游標和數據庫連接
cursor.close()
db.close()
上述代碼中,我們使用SELECT語句查詢出了所有收入大于1000的員工信息,并使用fetchall()方法獲取所有記錄列表。愛掏網 - it200.com接下來,我們使用for循環來遍歷每一條記錄,并輸出結果。愛掏網 - it200.com
數據更新
在Python 3中,我們可以使用UPDATE語句來更新數據庫中的數據。愛掏網 - it200.com下面是一個示例代碼:
import pymysql
# 打開數據庫連接
db = pymysql.connect("localhost", "root", "password", "testdb")
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# SQL 更新語句
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 \
WHERE SEX = '%c'" % ('M')
try:
# 執行SQL語句
cursor.execute(sql)
# 提交到數據庫執行
db.commit()
except:
# 發生錯誤時回滾
db.rollback()
# 關閉游標和數據庫連接
cursor.close()
db.close()
上述代碼中,我們使用UPDATE語句來將所有男性員工的年齡增加1。愛掏網 - it200.com接下來,我們使用execute()方法執行SQL語句,并在執行成功后使用commit()方法提交更改。愛掏網 - it200.com
數據插入
在Python 3中,我們可以使用INSERT語句向數據庫中插入新的數據。愛掏網 - it200.com下面是一個示例代碼:
import pymysql
# 打開數據庫連接
db = pymysql.connect("localhost", "root", "password", "testdb")
# 使用cursor()方法獲取操作游標
cursor = db.cursor()
# SQL 插入語句
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
LAST_NAME, AGE, SEX, INCOME) \
VALUES ('%s', '%s', '%d', '%c', '%d' )" % \
('John', 'Doe', 25, 'M', 2000)
try:
# 執行SQL語句
cursor.execute(sql)
# 提交到數據庫執行
db.commit()
except:
# 發生錯誤時回滾
db.rollback()
# 關閉游標和數據庫連接
cursor.close()
db.close()
上述代碼中,我們使用INSERT語句向EMPLOYEE表中插入一條新記錄。愛掏網 - it200.com接下來,我們使用execute()方法執行SQL語句,并在執行成功后使用commit()方法提交更改。愛掏網 - it200.com
數據刪除
在Python 3中,我們可以使用DELETE語句來從數據庫中刪除數據。愛掏網 - it200.com下面是一個示例代碼: