主要内容:
要使用Python FastAPI与PostgreSQL进行增删改查操作,您需要安装以下模块: 1. fastapi:用于创建Web API 2. uvicorn:用于运行Web API 3. psycopg2:用于与PostgreSQL数据库交互 接下来,我们将演示如何使用Python FastAPI和PostgreSQL进行增删改查操作。 首先,我们需要创建一个连接到PostgreSQL数据库的函数。您需要将数据库连接信息更改为您自己 的:
import psycopg2
def create_conn():
conn = psycopg2.connect(
host="localhost",
database="mydatabase",
user="myuser",
password="mypassword",
port="5432"
)
return conn
接下来,我们将创建一个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()
现在我们已经建立了连接,接下来我们将创建端点来执行增删改查操作。 查询数据 要查询数据,我们需要编写一个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 的端点,并在其中执行了SELECT语句以从用户表中 检索数据。我们还将返回的结果转换为JSON格式,以便可以轻松地在Web应用程序中使用它。