在大型的web开发中,我们肯定会用到数据库操作,那么FastAPI也支持数据库的开发,你可以用PostgreSQL,MySQL,SQLite,Oracle等
本文使用Mysql为例,我们看下在fastapi中是如何操作设计数据库的
安装依赖
pip install sqlalchemy
也有支持异步的,但是没有上面那个成熟
pip install fastapi-async-sqlalchemy
我们看下如何在项目中使用
from sqlalchemy import create_engine, ForeignKey
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, relationship
from sqlalchemy import Column, Integer, String, Boolean
mysql_url = "mysql+pymysql://{username}:{password}@{host}:{port}/{database}?charset=utf8".format(
username="root", password="xxx", host="xxx", port=3306, database="sqlalchemy_db")
# SQLALCHEMY_DATABASE_URL = "sqlite:///.test.db"
engine = create_engine(
mysql_url,
# SQLALCHEMY_DATABASE_URL,
# connect_args 参数只有sqlite才有
# connect_args = {
# "check_same_thread": False
# }
FastAPI与MySQL数据库交互实战

本文通过Python的SQLAlchemy库展示了如何在FastAPI中连接并操作MySQL数据库。首先安装必要的依赖,如`sqlalchemy`和`fastapi-async-sqlalchemy`。接着创建数据库引擎和会话实例,并定义User和Item两个数据库模型。通过`Base.metadata.create_all()`方法将模型映射到数据库表。现在,你可以使用这些模型进行数据库的增删改查操作。
最低0.47元/天 解锁文章
658





