📅  最后修改于: 2023-12-03 14:54:44.530000             🧑  作者: Mango
FastAPI 是一个快速(高性能)的 Web 框架,用于构建 API。它是用 Python 编写的,并基于 Starlette 提供以下功能:
本文将介绍如何使用 FastAPI 将数据插入关系数据库。
在开始之前,请确保您已经完成以下步骤:
pip install fastapi
pip install sqlalchemy
在开始之前,请先创建一个数据模型,用于映射您的数据表。
from sqlalchemy import Column, Integer, String, DateTime
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True, index=True)
name = Column(String)
email = Column(String, unique=True)
created_date = Column(DateTime)
这是一个简单的 User
数据模型,表示一个用户。
在 FastAPI 中,您可以使用 SQLAlchemy 来进行数据库查询和操作。
以下是一个简单的 FastAPI 示例,演示如何将数据插入到数据库中:
from datetime import datetime
from fastapi import FastAPI
from sqlalchemy import create_engine
from sqlalchemy.orm import Session
from models import Base, User
# 创建数据库连接
SQLALCHEMY_DATABASE_URL = "postgresql://user:password@localhost/db_name"
engine = create_engine(SQLALCHEMY_DATABASE_URL)
# 创建数据库表
Base.metadata.create_all(bind=engine)
app = FastAPI()
@app.post("/users/")
async def create_user(name: str, email: str):
now = datetime.now()
user = User(name=name, email=email, created_date=now)
db = Session(engine)
db.add(user)
db.commit()
db.refresh(user)
return user
此示例中,我们通过 FastAPI 创建了一个 API /users/
,用于创建用户。当收到请求时,我们将创建一个 User
对象,并将其添加到数据库中,并将其作为响应返回。
FastAPI 提供了一个快速、简单而强大的方法,将数据插入关系数据库。无论您是刚刚开始学习 FastAPI,还是对这个框架已经有了一定了解和经验,它都将是一个非常优秀的选择,用于处理您的后端 API 解决方案。