一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - Python連接MySQL數據庫編程

Python連接MySQL數據庫編程

2024-01-03 01:00未知服務器之家 Mysql

數據庫編程是在應用程序中與數據庫交互和管理數據的關鍵部分。MySQL是一種流行的關系型數據庫管理系統(RDBMS),在Python中進行MySQL數據庫編程相對容易。 本文介紹如何使用Python進行MySQL數據庫編程,包括連接數據庫、執行SQL查

Python連接MySQL數據庫編程

數據庫編程是在應用程序中與數據庫交互和管理數據的關鍵部分。MySQL是一種流行的關系型數據庫管理系統(RDBMS),在Python中進行MySQL數據庫編程相對容易。

本文介紹如何使用Python進行MySQL數據庫編程,包括連接數據庫、執行SQL查詢、插入、更新和刪除數據等操作。

1、安裝MySQL驅動

在開始之前,需要安裝Python的MySQL數據庫驅動程序。最常用的驅動程序之一是mysql-connector-python

使用pip進行安裝:

pip install mysql-connector-python

2、連接MySQL數據庫

在進行任何數據庫操作之前,首先需要建立與MySQL數據庫的連接。通常,需要提供數據庫的主機名、用戶名、密碼和數據庫名稱。

以下是連接到MySQL數據庫的示例:

import mysql.connector

# 創建數據庫連接
db = mysql.connector.connect(
    host="localhost",  # MySQL服務器地址
    user="username",   # 用戶名
    password="password",  # 密碼
    database="mydatabase"  # 數據庫名稱
)

# 創建游標對象,用于執行SQL查詢
cursor = db.cursor()

3、創建數據庫

創建一個新的數據庫,可以執行以下操作:

# 創建一個名為"mydatabase"的新數據庫
cursor.execute("CREATE DATABASE mydatabase")

4、創建數據表

在數據庫中,數據以表格形式組織。在創建表格之前,需要定義表格的結構,包括列名、數據類型和約束。

以下是一個示例:

# 創建一個名為"customers"的數據表
cursor.execute("CREATE TABLE customers (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), address VARCHAR(255))")

5、插入數據

插入數據是將數據添加到數據表中的過程??梢允褂肧QL的INSERT INTO語句來執行插入操作。

以下是一個示例:

# 插入一條記錄到"customers"表中
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
values = ("John Smith", "123 Main St")
cursor.execute(sql, values)

# 提交更改到數據庫
db.commit()

print(f"插入了 {cursor.rowcount} 條記錄")

6、查詢數據

查詢數據是從數據庫中檢索數據的過程。使用SQL的SELECT語句來執行查詢操作。

以下是一個示例:

# 查詢所有記錄
cursor.execute("SELECT * FROM customers")

# 獲取查詢結果
results = cursor.fetchall()

for row in results:
    print(row)

7、更新數據

更新數據是修改現有數據的過程。使用SQL的UPDATE語句來執行更新操作。

以下是一個示例:

# 更新"customers"表中id為1的記錄
sql = "UPDATE customers SET address = %s WHERE id = %s"
values = ("456 Elm St", 1)
cursor.execute(sql, values)

# 提交更改到數據庫
db.commit()

print(f"更新了 {cursor.rowcount} 條記錄")

8、刪除數據

刪除數據是從數據庫中刪除數據的過程。使用SQL的DELETE語句來執行刪除操作。

以下是一個示例:

# 刪除"customers"表中id為1的記錄
sql = "DELETE FROM customers WHERE id = %s"
values = (1,)
cursor.execute(sql, values)

# 提交更改到數據庫
db.commit()

print(f"刪除了 {cursor.rowcount} 條記錄")

9、執行事務

事務是一組SQL操作,要么全部成功,要么全部失敗。在某些情況下,需要使用事務來確保數據庫的完整性。

以下是一個示例:

try:
    db.start_transaction()
    # 執行一系列SQL操作
    cursor.execute("INSERT INTO customers (name, address) VALUES (%s, %s)", ("Alice", "789 Oak St"))
    cursor.execute("UPDATE customers SET address = %s WHERE id = %s", ("789 Elm St", 2))
    db.commit()  # 提交事務
except:
    db.rollback()  # 事務回滾,撤銷之前的操作

10、關閉數據庫連接

在完成數據庫操作后,不要忘記關閉數據庫連接,以釋放資源。

cursor.close()  # 關閉游標
db.close()  # 關閉數據庫連接

11、示例:一個完整的MySQL數據庫編程示例

以下是一個完整的MySQL數據庫編程示例,包括連接數據庫、創建表格、插入數據、查詢數據、更新數據和刪除數據:

import mysql.connector

# 創建數據庫連接
db = mysql.connector.connect(
    host="localhost",
    user="username",
    password="password",
    database="mydatabase"
)

# 創建游標對象
cursor = db.cursor()

# 創建一個名為"customers"的數據表
cursor.execute("CREATE TABLE customers (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), address VARCHAR(255))")

# 插入記錄
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
values = [("John Smith", "123 Main St"), ("Alice Johnson", "456 Elm St")]
cursor.executemany(sql, values)
db.commit()

# 查詢記錄
cursor.execute("SELECT * FROM customers")
results = cursor.fetchall()
for row in results:
    print(row)

# 更新記錄
sql = "UPDATE customers SET address = %s WHERE name = %s"
values = ("789 Oak St", "Alice Johnson")
cursor.execute(sql, values)
db.commit()

# 刪除記錄
sql = "DELETE FROM customers WHERE name = %s"
values = ("John Smith",)
cursor.execute(sql, values)
db.commit()

# 關閉游標和數據庫連接
cursor.close()
db.close()

12、安全性注意事項

在進行數據庫編程時,請務必注意安全性。避免直接將用戶提供的數據插入SQL語句,以防止SQL注入攻擊??梢允褂脜祷樵兓騉RM(對象關系映射)來增強安全性。

總結

MySQL數據庫編程是Python應用程序的關鍵組成部分。本文介紹了如何連接數據庫、創建數據表、插入、查詢、更新和刪除數據,以及執行事務。通過這些操作,您可以有效地管理數據,并確保數據的完整性和安全性。希望本文對您在Python中進行MySQL數據庫編程有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 特级毛片全部免费播放器 | 天天夜夜草草久久伊人天堂 | 精品视频在线免费看 | 99热这里只有精品一区二区三区 | 奇米影视先锋 | 日本在线一区 | 欧美日韩精品免费一区二区三区 | 精品日韩欧美一区二区三区在线播放 | 欧美亚洲第一页 | 高清国产激情视频在线观看 | 精品国产日韩一区三区 | 全黄h全肉细节文在线观看 全彩成人18h漫画 | 调教处男| 狠狠干日日操 | 暖暖的视频完整视频韩国免费 | 美女扒开胸罩露出奶了无遮挡免费 | kkkk4444在线看片 | 网www天堂资源在线 王淑兰与铁柱全文免费阅读 | 高清在线看 | 欧美性高清另类videosex死尸 | 俄罗斯妈妈235| 韩国禁片在线观看久 | 国产精品3p视频 | 亚洲精品国产乱码AV在线观看 | 日韩精品亚洲一级在线观看 | 日本无遮挡亲吻膜下面免费 | 国内精品91东航翘臀女神在线 | 深夜福利入口 | 国产精品va在线观看不 | 秋霞鲁丝影院久久人人综合 | 国内精品露脸在线视频播放 | 亚洲欧洲日产v特级毛片 | 国产小青蛙| 欧美一级一级做性视频 | 亚洲第一男人天堂 | 91在线亚洲精品一区 | 亚洲人尿尿 | 9久热这里只有精品免费 | 人与动人物人a级特片 | 好看华人华人经典play | 日本高清中文字幕一区二区三区 |