溫馨提示×

Ubuntu Python與數據庫交互方法

小樊
45
2025-03-30 17:43:59
欄目: 編程語言

在Ubuntu上使用Python與數據庫進行交互,通常會使用一些流行的數據庫驅動程序和ORM(對象關系映射)庫。以下是一些常見的數據庫及其對應的Python交互方法:

1. MySQL

安裝MySQL客戶端庫

sudo apt-get update
sudo apt-get install python3-mysqldb

Python代碼示例

import mysql.connector

# 連接數據庫
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="yourdatabase"
)

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

# 執行SQL查詢
mycursor.execute("SELECT * FROM customers")

# 獲取所有記錄
myresult = mycursor.fetchall()

for x in myresult:
  print(x)

# 關閉連接
mydb.close()

2. PostgreSQL

安裝PostgreSQL客戶端庫

sudo apt-get update
sudo apt-get install python3-psycopg2

Python代碼示例

import psycopg2

# 連接數據庫
conn = psycopg2.connect(
    dbname="yourdatabase",
    user="yourusername",
    password="yourpassword",
    host="localhost"
)

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

# 執行SQL查詢
cur.execute("SELECT * FROM customers")

# 獲取所有記錄
rows = cur.fetchall()

for row in rows:
    print(row)

# 關閉游標和連接
cur.close()
conn.close()

3. SQLite

SQLite是一個輕量級的數據庫,不需要單獨的服務器進程。

Python代碼示例

import sqlite3

# 連接數據庫
conn = sqlite3.connect('example.db')

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

# 創建表
cursor.execute('''CREATE TABLE IF NOT EXISTS customers
               (id INTEGER PRIMARY KEY, name TEXT, address TEXT)''')

# 插入數據
cursor.execute("INSERT INTO customers (name, address) VALUES ('John Doe', '123 Main St')")

# 提交事務
conn.commit()

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

for row in rows:
    print(row)

# 關閉連接
conn.close()

4. MongoDB

MongoDB是一個NoSQL數據庫,使用Python的pymongo庫進行交互。

安裝MongoDB客戶端庫

pip install pymongo

Python代碼示例

from pymongo import MongoClient

# 連接MongoDB
client = MongoClient('mongodb://localhost:27017/')

# 選擇數據庫
db = client['yourdatabase']

# 選擇集合
collection = db['customers']

# 插入文檔
document = {"name": "John Doe", "address": "123 Main St"}
collection.insert_one(document)

# 查詢文檔
for doc in collection.find():
    print(doc)

使用ORM(對象關系映射)

ORM庫如SQLAlchemy可以簡化數據庫操作,提供更高層次的抽象。

安裝SQLAlchemy

pip install sqlalchemy

Python代碼示例

from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

# 定義模型
Base = declarative_base()

class Customer(Base):
    __tablename__ = 'customers'
    id = Column(Integer, primary_key=True)
    name = Column(String)
    address = Column(String)

# 創建數據庫引擎
engine = create_engine('sqlite:///example.db')

# 創建表
Base.metadata.create_all(engine)

# 創建會話
Session = sessionmaker(bind=engine)
session = Session()

# 添加記錄
new_customer = Customer(name='John Doe', address='123 Main St')
session.add(new_customer)
session.commit()

# 查詢記錄
customers = session.query(Customer).all()
for customer in customers:
    print(customer.name, customer.address)

# 關閉會話
session.close()

以上是Ubuntu上使用Python與不同數據庫進行交互的基本方法。根據具體需求選擇合適的數據庫和工具。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女