一、安裝MySQL驅動
要使用Python連接MySQL數據庫,需要先安裝相應的MySQL驅動。MySQL官方提供了多種語言的驅動程序,其中Python語言的驅動程序為mysql-connector-python。可以使用pip直接安裝:
pip install mysql-connector-python
安裝完成後,就可以在Python代碼中使用該驅動來操作MySQL數據庫了。
二、連接MySQL數據庫
在Python程序中,需要使用驅動提供的connect()函數來連接MySQL數據庫,並指定相應的主機、用戶名和密碼等參數:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
passwd="yourpassword"
)
上面的代碼中,host參數指定MySQL服務器的IP地址或域名;user參數指定連接MySQL數據庫的用戶名;passwd參數指定連接MySQL數據庫的密碼。
三、創建數據庫和數據表
連接成功後,需要創建一個數據庫並在其中創建數據表。可以使用MySQL的命令行工具或者MySQL Workbench等工具來創建。
使用Python程序來創建一個名為“testdb”的數據庫和一個名為“customers”的數據表:
mycursor = mydb.cursor()
mycursor.execute("CREATE DATABASE testdb")
mycursor.execute("USE testdb")
mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")
四、插入數據
使用Python程序來插入數據到“customers”數據表中:
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
上面的代碼中,使用了SQL語句的INSERT INTO語句來插入數據,%s用來佔位。然後使用Python的execute()函數來執行插入語句,其中sql是INSERT INTO語句,val是要插入的數據,是一個元組形式的參數。執行插入語句後,還需要使用commit()函數提交更改才能生效。
五、查詢數據
使用Python程序來查詢“customers”數據表中的數據:
mycursor.execute("SELECT * FROM customers")
myresult = mycursor.fetchall()
for x in myresult:
print(x)
上面的代碼中,使用了SQL語句的SELECT語句來查詢數據。使用Python的execute()函數來執行查詢語句,然後使用fetchall()函數獲取所有結果,返回一個元組形式的列表。然後遍歷列表輸出結果。
六、更新數據
使用Python程序來更新“customers”數據表中的數據:
sql = "UPDATE customers SET address = 'Canyon 123' WHERE name = 'John'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "record(s) affected")
上面的代碼中,使用了SQL語句的UPDATE語句來更新數據。使用Python的execute()函數來執行更新語句,然後使用commit()函數提交更改才能生效。執行更新語句後,使用rowcount屬性來獲取更新記錄的數量。
七、刪除數據
使用Python程序來刪除“customers”數據表中的數據:
sql = "DELETE FROM customers WHERE name = 'John'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "record(s) deleted")
上面的代碼中,使用了SQL語句的DELETE語句來刪除數據。使用Python的execute()函數來執行刪除語句,然後使用commit()函數提交更改才能生效。執行刪除語句後,使用rowcount屬性來獲取刪除記錄的數量。
八、完整代碼示例
下面是將上面的所有代碼整合在一起的完整示例代碼:
import mysql.connector
# 連接MySQL數據庫
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
passwd="yourpassword"
)
# 創建數據庫和數據表
mycursor = mydb.cursor()
mycursor.execute("CREATE DATABASE testdb")
mycursor.execute("USE testdb")
mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")
# 插入數據
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
# 查詢數據
mycursor.execute("SELECT * FROM customers")
myresult = mycursor.fetchall()
for x in myresult:
print(x)
# 更新數據
sql = "UPDATE customers SET address = 'Canyon 123' WHERE name = 'John'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "record(s) affected")
# 刪除數據
sql = "DELETE FROM customers WHERE name = 'John'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "record(s) deleted")
原創文章,作者:OSPRA,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/331431.html