資料內容:
要使用Python FastAPI與PostgreSQL進行增刪改查操作,您需要安裝以下模塊: 1. fastapi:用于創(chuàng)建Web API 2. uvicorn:用于運行Web API 3. psycopg2:用于與PostgreSQL數據庫交互 接下來,我們將演示如何使用Python FastAPI和PostgreSQL進行增刪改查操作。 首先,我們需要創(chuàng)建一個連接到PostgreSQL數據庫的函數。您需要將數據庫連接信息更改為您自己 的:
import psycopg2
def create_conn():
conn = psycopg2.connect(
host="localhost",
database="mydatabase",
user="myuser",
password="mypassword",
port="5432"
)
return conn
接下來,我們將創(chuàng)建一個FastAPI應用程序并使用該函數來連接到PostgreSQL數據庫:
from fastapi import FastAPI
app = FastAPI()
@app.on_event("startup")
async def startup():
app.state.conn = create_conn()
@app.on_event("shutdown")
async def shutdown():
app.state.conn.close()
現(xiàn)在我們已經建立了連接,接下來我們將創(chuàng)建端點來執(zhí)行增刪改查操作。 查詢數據 要查詢數據,我們需要編寫一個GET請求,并從數據庫中檢索數據。以下是示例代碼:
from fastapi import FastAPI
from typing import List
import psycopg2
app = FastAPI()
def create_conn():
conn = psycopg2.connect(
host="localhost",
database="mydatabase",
user="myuser",
password="mypassword",
port="5432"
)
return conn
@app.on_event("startup")
async def startup():
app.state.conn = create_conn()
@app.on_event("shutdown")
async def shutdown():
app.state.conn.close()
@app.get("/users")
async def read_users():
conn = app.state.conn
cursor = conn.cursor()
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
return [{"id": row[0], "name": row[1], "email": row[2]} for row in
rows]
在上面的代碼中,我們定義了一個名為 read_users 的端點,并在其中執(zhí)行了SELECT語句以從用戶表中 檢索數據。我們還將返回的結果轉換為JSON格式,以便可以輕松地在Web應用程序中使用它。