天天看點

Python資料庫程式設計:連接配接、查詢和操作資料庫的完整指南

作者:樹言樹語Tree

資料庫程式設計是Python程式設計中非常重要的一部分,它涉及到如何連接配接、查詢、操作資料庫以及使用資料定義語言(DDL)和資料操作語言(DML)等知識。下面,我将對這些内容進行詳細的講解。

連接配接和查詢資料庫

在Python中,我們可以使用第三方庫(如mysql-connector-python、pymysql、psycopg2等)來連接配接各種類型的資料庫(如MySQL、SQLite、PostgreSQL等)并執行查詢操作。在連接配接資料庫之前,我們需要先安裝所需的庫,例如:

pip install mysql-connector-python
           

連接配接到MySQL資料庫并查詢資料的示例代碼如下所示:

import mysql.connector

# 連接配接到資料庫
cnx = mysql.connector.connect(user='username', password='password',
                              host='localhost', database='testdb')

# 查詢資料
cursor = cnx.cursor()
query = ("SELECT * FROM users")
cursor.execute(query)

# 列印查詢結果
for (id, name, age) in cursor:
    print(f"ID: {id}, Name: {name}, Age: {age}")

# 關閉資料庫連接配接
cursor.close()
cnx.close()
           

在上述代碼中,我們首先使用mysql-connector-python庫中的connect()方法連接配接到MySQL資料庫,并使用cursor()方法建立一個遊标對象。接着,我們使用execute()方法執行SQL查詢語句,并通過遊标對象擷取查詢結果。最後,我們通過循環列印查詢結果,并使用close()方法關閉遊标和資料庫連接配接。

資料庫操作語言(DML)和資料定義語言(DDL)

資料庫操作語言(DML)是用于執行各種資料庫操作(如增加、删除、更新等)的語言,而資料定義語言(DDL)用于建立、修改和删除資料庫表、視圖、索引、序列等資料庫對象。Python中可以使用SQL語句來執行這些操作。下面是一些示例代碼:

建立表

import mysql.connector

# 連接配接到資料庫
cnx = mysql.connector.connect(user='username', password='password',
                              host='localhost', database='testdb')

# 建立表
cursor = cnx.cursor()
table_name = "users"
create_table_query = f"""
CREATE TABLE {table_name} (
  id INT NOT NULL AUTO_INCREMENT,
  name VARCHAR(255) NOT NULL,
  age INT NOT NULL,
  PRIMARY KEY (id)
)
"""
cursor.execute(create_table_query)

# 關閉遊标和資料庫連接配接
cursor.close()
cnx.close()
           

在上述代碼中,我們使用CREATE TABLE語句來建立一個名為users的資料庫表,其中包含三個字段:id、name和age。我們使用AUTO_INCREMENT來為id字段設定自動增長屬性,并使用PRIMARY KEY将其設定為主鍵。

插入資料

import mysql.connector

# 連接配接到資料庫
cnx = mysql.connector.connect(user='username', password='password',
                              host='localhost', database='testdb')

# 插入資料
cursor = cnx.cursor()
insert_query = f"""
INSERT INTO users (name, age) VALUES ('Alice', 20)
執行插入操作
cursor.execute(insert_query)

送出事務
cnx.commit()

關閉遊标和資料庫連接配接
cursor.close()
cnx.close()           

在上述代碼中,我們使用`INSERT INTO`語句将一條新的使用者資料插入到`users`表中。

更新資料

import mysql.connector

# 連接配接到資料庫
cnx = mysql.connector.connect(user='username', password='password',
                              host='localhost', database='testdb')

# 更新資料
cursor = cnx.cursor()
update_query = f"""
UPDATE users SET age = 25 WHERE name = 'Alice'
"""
cursor.execute(update_query)

# 送出事務
cnx.commit()

# 關閉遊标和資料庫連接配接
cursor.close()
cnx.close()           

在上述代碼中,我們使用UPDATE語句将name為Alice的使用者的年齡更新為25。

删除資料

import mysql.connector

# 連接配接到資料庫
cnx = mysql.connector.connect(user='username', password='password',
                              host='localhost', database='testdb')

# 删除資料
cursor = cnx.cursor()
delete_query = f"""
DELETE FROM users WHERE age > 30
"""
cursor.execute(delete_query)

# 送出事務
cnx.commit()

# 關閉遊标和資料庫連接配接
cursor.close()
cnx.close()
           

在上述代碼中,我們使用DELETE FROM語句删除age大于30的使用者資料。

總之,資料庫程式設計是Python程式設計中的重要組成部分,可以通過第三方庫連接配接各種類型的資料庫并執行查詢和操作,同時也可以使用SQL語句進行各種資料庫操作。在實際應用中,需要根據具體的業務需求和資料庫類型選擇相應的庫和語言。

每天堅持學習一點點,不求有回報,隻願可以豐富自己!!!