在Ubuntu上使用Python連接數據庫,通常需要安裝相應的數據庫驅動和庫。以下是一些常見數據庫的連接方法:
sudo apt update
sudo apt install python3-mysqldb
import MySQLdb
# 連接到數據庫
db = MySQLdb.connect(host="localhost", user="your_username", passwd="your_password", db="your_database")
# 創建游標對象
cursor = db.cursor()
# 執行SQL查詢
cursor.execute("SELECT VERSION()")
# 獲取單條數據
data = cursor.fetchone()
print("Database version : %s " % data)
# 關閉數據庫連接
db.close()
sudo apt update
sudo apt install python3-psycopg2
import psycopg2
# 連接到數據庫
conn = psycopg2.connect(
dbname="your_database",
user="your_username",
password="your_password",
host="localhost"
)
# 創建游標對象
cur = conn.cursor()
# 執行SQL查詢
cur.execute("SELECT version();")
# 獲取單條數據
db_version = cur.fetchone()
print("PostgreSQL database version:", db_version)
# 關閉游標和連接
cur.close()
conn.close()
SQLite是一個嵌入式數據庫,不需要額外的服務器進程。
import sqlite3
# 連接到SQLite數據庫(如果不存在則會自動創建)
conn = sqlite3.connect('example.db')
# 創建游標對象
cursor = conn.cursor()
# 創建表
cursor.execute('''CREATE TABLE IF NOT EXISTS stocks
(date text, trans text, symbol text, qty real, price real)''')
# 插入數據
cursor.execute("INSERT INTO stocks VALUES ('2023-04-01','BUY','RHAT',100,35.14)")
# 提交事務
conn.commit()
# 查詢數據
cursor.execute("SELECT * FROM stocks")
rows = cursor.fetchall()
for row in rows:
print(row)
# 關閉游標和連接
cursor.close()
conn.close()
MongoDB是一個NoSQL數據庫,使用pymongo
庫進行連接。
pip3 install pymongo
from pymongo import MongoClient
# 連接到MongoDB服務器
client = MongoClient('mongodb://localhost:27017/')
# 選擇數據庫
db = client['your_database']
# 選擇集合
collection = db['your_collection']
# 插入文檔
document = {"name": "Alice", "age": 25}
collection.insert_one(document)
# 查詢文檔
for doc in collection.find():
print(doc)
根據你使用的數據庫類型,選擇相應的Python庫進行安裝和連接。常見的數據庫包括MySQL、PostgreSQL、SQLite和MongoDB。每種數據庫都有其特定的連接方式和操作方法,但基本的連接流程是相似的:安裝庫、建立連接、執行SQL查詢或操作、關閉連接。