数据库 · 20 10 月, 2024

Python如何操作數據庫(讀寫) (python讀寫數據庫)

Python如何操作數據庫(讀寫)

在當今的數據驅動世界中,數據庫的操作變得越來越重要。Python作為一種高效且易於學習的編程語言,提供了多種庫來與數據庫進行交互。本文將介紹如何使用Python進行數據庫的讀寫操作,並提供一些實用的示例。

Python與數據庫的連接

在開始進行數據庫操作之前,首先需要選擇一個合適的數據庫系統。常見的數據庫系統包括MySQL、PostgreSQL和SQLite等。Python提供了多個庫來支持這些數據庫的操作,最常用的包括:

  • sqlite3:內建於Python,適合小型應用。
  • MySQL Connector:用於連接MySQL數據庫。
  • psycopg2:用於連接PostgreSQL數據庫。

使用SQLite進行數據庫操作

SQLite是一個輕量級的數據庫,適合用於小型應用和開發測試。以下是如何使用Python的sqlite3庫進行基本的數據庫操作。

1. 創建數據庫和表

import sqlite3

# 連接到數據庫(如果不存在則創建)
conn = sqlite3.connect('example.db')

# 創建一個游標對象
c = conn.cursor()

# 創建表
c.execute('''CREATE TABLE IF NOT EXISTS users
             (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')

# 提交變更並關閉連接
conn.commit()
conn.close()

2. 插入數據

conn = sqlite3.connect('example.db')
c = conn.cursor()

# 插入數據
c.execute("INSERT INTO users (name, age) VALUES ('Alice', 30)")
c.execute("INSERT INTO users (name, age) VALUES ('Bob', 25)")

conn.commit()
conn.close()

3. 查詢數據

conn = sqlite3.connect('example.db')
c = conn.cursor()

# 查詢數據
c.execute("SELECT * FROM users")
rows = c.fetchall()

for row in rows:
    print(row)

conn.close()

4. 更新數據

conn = sqlite3.connect('example.db')
c = conn.cursor()

# 更新數據
c.execute("UPDATE users SET age = 31 WHERE name = 'Alice'")

conn.commit()
conn.close()

5. 刪除數據

conn = sqlite3.connect('example.db')
c = conn.cursor()

# 刪除數據
c.execute("DELETE FROM users WHERE name = 'Bob'")

conn.commit()
conn.close()

使用MySQL進行數據庫操作

如果需要處理更大規模的數據,MySQL是一個不錯的選擇。使用mysql-connector-python庫可以輕鬆地與MySQL數據庫進行交互。

1. 安裝MySQL Connector

首先,您需要安裝MySQL Connector:

pip install mysql-connector-python

2. 連接到MySQL數據庫

import mysql.connector

# 連接到MySQL數據庫
conn = mysql.connector.connect(
    host='localhost',
    user='yourusername',
    password='yourpassword',
    database='yourdatabase'
)

c = conn.cursor()

3. 執行基本操作

與SQLite類似,您可以使用execute方法來執行SQL語句,並使用fetchall來獲取查詢結果。

# 創建表
c.execute('''CREATE TABLE IF NOT EXISTS users
             (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT)''')

# 插入數據
c.execute("INSERT INTO users (name, age) VALUES ('Charlie', 28)")

# 查詢數據
c.execute("SELECT * FROM users")
rows = c.fetchall()

for row in rows:
    print(row)

conn.commit()
conn.close()

總結

本文介紹了如何使用Python進行數據庫的基本讀寫操作,包括SQLite和MySQL的示例。無論是小型應用還是大型系統,Python都能夠輕鬆地與數據庫進行交互,為開發者提供了強大的支持。如果您需要穩定的VPS來運行您的應用,Server.HK提供了多種選擇,適合各種需求。