首頁 >後端開發 >Python教學 >Python伺服器程式設計:使用PyMySQL與MySQL資料庫交互

Python伺服器程式設計:使用PyMySQL與MySQL資料庫交互

PHPz
PHPz原創
2023-06-18 14:31:541250瀏覽

Python是一個流行的高階程式語言,具有豐富的函式庫和框架,能夠用於開發各種類型的應用程式。在伺服器程式設計領域中,Python不僅可以用於開發Web應用程序,而且還可以用於與各種資料庫進行互動。

本文將介紹如何使用Python與MySQL資料庫互動。我們將使用PyMySQL作為Python與MySQL互動的函式庫。

1.安裝PyMySQL函式庫

在使用PyMySQL函式庫之前,需要先安裝它。開啟終端機或命令提示符,並輸入以下命令進行安裝:

pip install PyMySQL

2.連接到MySQL資料庫

要連接到MySQL資料庫,我們需要知道MySQL伺服器的主機名稱、連接埠號、使用者名稱和密碼。

我們可以使用以下Python程式碼連接到MySQL資料庫:

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost', port=3306, user='root', password='', database='test')

# 关闭数据库连接
db.close()

在此程式碼中,我們使用了pymysql函式庫的connect()函數來連接到MySQL資料庫。此函數的參數包括主機名稱、連接埠號碼、使用者名稱和密碼等資訊。

此外,我們還指定了要連接的資料庫的名稱,該名稱是透過database參數傳遞的。在下面的程式碼中,我們將繼續使用此連接。

3.建立表格

在與MySQL資料庫互動之前,我們需要建立一個表格。我們可以使用以下Python程式碼在MySQL資料庫中建立一個名為users的表:

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost', port=3306, user='root', password='', database='test')

# 创建表
cursor = db.cursor()
cursor.execute('DROP TABLE IF EXISTS users')
sql = '''CREATE TABLE users (
         id INT(11) NOT NULL AUTO_INCREMENT,
         name VARCHAR(20) NOT NULL,
         email VARCHAR(30) NOT NULL,
         password VARCHAR(30) NOT NULL,
         PRIMARY KEY (id))'''
cursor.execute(sql)

# 关闭数据库连接
db.close()

在此程式碼中,我們定義了一個名為users的表,並定義了四個欄位:idnameemailpassword。其中,id是主鍵,使用INT資料類型,nameemail是使用VARCHAR資料類型保存的字串,password也是使用VARCHAR資料類型儲存的字串。表的建立過程使用了MySQL的SQL語句。請注意,我們還在users表中設定了自動增量列,該列將自動遞增。

4.插入資料

現在,我們已經建立了users表,可以開始向該表中插入資料了。我們可以使用以下Python程式碼將一些資料插入到該表中:

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost', port=3306, user='root', password='', database='test')

# 插入数据
cursor = db.cursor()
sql = "INSERT INTO users(name, email, password) VALUES (%s, %s, %s)"
values = [('Alice', 'alice@email.com', '123456'),
          ('Bob', 'bob@email.com', '789012'),
          ('Charlie', 'charlie@email.com', '345678')]
cursor.executemany(sql, values)
db.commit()

# 关闭数据库连接
db.close()

在此程式碼中,我們首先使用executemany()函數將多個資料插入到users 表中。此函數的第一個參數指定要執行的SQL語句,第二個參數是一個包含要插入的資料的元組或清單。注意,我們使用了佔位符%s來表示要插入的實際值。

在呼叫executemany()函數後,我們必須呼叫commit()方法來讓資料儲存到資料庫中。

5.查詢數據

要從users表中檢索數據,我們可以使用以下Python程式碼:

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost', port=3306, user='root', password='', database='test')

# 查询数据
cursor = db.cursor()
sql = "SELECT * FROM users"
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
    id = row[0]
    name = row[1]
    email = row[2]
    password = row[3]
    print("{} - {} - {} - {}".format(id, name, email, password))

# 关闭数据库连接
db.close()

在此程式碼中,我們使用SELECT語句從users表格中檢索所有行。然後,使用fetchall()方法取得所有檢索到的行,並使用迴圈將每一行作為元組處理。最後,我們根據每一行的列值列印輸出結果。

6.更新數據

要更新users表中的數據,我們可以使用以下Python程式碼:

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost', port=3306, user='root', password='', database='test')

# 更新数据
cursor = db.cursor()
sql = "UPDATE users SET password = %s WHERE name = %s"
values = ('abcdef', 'Alice')
cursor.execute(sql, values)
db.commit()

# 关闭数据库连接
db.close()

在此程式碼中,我們使用UPDATE語句將名為Alice的使用者的密碼更新為abcdef。程式碼使用了帶有參數的SQL語句,其中%s是佔位符。我們也將要更新的實際值包裝在元組中,然後傳遞給execute()函數。

7.刪除數據

要從users表中刪除數據,我們可以使用以下Python程式碼:

import pymysql

# 打开数据库连接
db = pymysql.connect(host='localhost', port=3306, user='root', password='', database='test')

# 删除数据
cursor = db.cursor()
sql = "DELETE FROM users WHERE email = %s"
value = ('bob@email.com',)
cursor.execute(sql, value)
db.commit()

# 关闭数据库连接
db.close()

在此程式碼中,我們使用DELETE語句刪除電子郵件為bob@email.com的使用者。

總結

在本文中,我們介紹如何使用Python與MySQL資料庫進行交互,並使用了pymysql函式庫作為Python與MySQL之間的橋樑。我們學習如何連接到MySQL資料庫,建立表,插入數據,更新數據和刪除數據,這些是在開發Web應用程式時經常涉及的常見任務。透過掌握這些技能,您可以開始使用Python建立強大的伺服器應用程序,以及與各種資料庫互動。

以上是Python伺服器程式設計:使用PyMySQL與MySQL資料庫交互的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn