当前位置: 首页 > news >正文

Python(FastAPI)中ORM框架Sqlalchemy的安装及建表

一,项目中安装Sqlalchemy

在项目中执行,就会自动安装

pip install sqlalchemy[asyncio]aiomysql


二,建表
流程

(1)创建数据库引擎

# 1.创建异步引擎#ASYNC_DATAASE_URL为数据库的地址ASYNC_DATAASE_URL="mysql+aiomysql://root:630229@localhost:3306/fast_api_db?charset=utf8"async_engine=create_async_engine(ASYNC_DATAASE_URL,echo=True,# 可选删除SQL日志pool_size=10,#设置连接池活跃的连接数max_overflow=20,# 允许额外的连接数)

(2)定义模型类

# 2.定义模型类: 基类+表对应的模型类# 基类:创建时间、更新时间;书籍表:id、书名、作者、价格、出版社classBase(DeclarativeBase):create_time:Mapped[datetime]=mapped_column(DateTime,insert_default=func.now(),default=datetime.now,comment="创建时间")update_time:Mapped[datetime]=mapped_column(DateTime,insert_default=func.now(),onupdate=func.now(),default=datetime.now,comment="修改时间")classBook(Base):__tablename__="book"id:Mapped[int]=mapped_column(primary_key=True,comment="书籍id")bookname:Mapped[str]=mapped_column(String(255),comment="书名")author:Mapped[str]=mapped_column(String(255),comment="作者")price:Mapped[float]=mapped_column(comment="价格")publisher:Mapped[str]=mapped_column(String(255),comment="出版社")

(3)启动应用建表
启动命令

uvicorn main:app--reload

# 3.启动应用时建表,FASTAPI启动时调用建表的函数asyncdefcreate_tables():#创建异步引擎,创建事务建表asyncwithasync_engine.begin()asconn:awaitconn.run_sync(Base.metadata.create_all)#模型类的元数据@app.on_event("startup")asyncdefstartup_event():awaitcreate_tables()@app.get("/")asyncdefroot():return{"message":"Hello World"}

查看建表




表以建成功

或者在Navicat 中查看

完整代码

fromfastapiimportFastAPIfromdatetimeimportdatetimefromsqlalchemyimportString,DateTime,funcfromsqlalchemy.ext.asyncioimportcreate_async_enginefromsqlalchemy.ormimportDeclarativeBase,Mapped,mapped_column app=FastAPI()# 1.创建异步引擎#ASYNC_DATAASE_URL为数据库的地址ASYNC_DATAASE_URL="mysql+aiomysql://root:630229@localhost:3306/fast_api_db?charset=utf8"async_engine=create_async_engine(ASYNC_DATAASE_URL,echo=True,# 可选删除SQL日志pool_size=10,#设置连接池活跃的连接数max_overflow=20,# 允许额外的连接数)# 2.定义模型类: 基类+表对应的模型类# 基类:创建时间、更新时间;书籍表:id、书名、作者、价格、出版社classBase(DeclarativeBase):create_time:Mapped[datetime]=mapped_column(DateTime,insert_default=func.now(),default=datetime.now,comment="创建时间")update_time:Mapped[datetime]=mapped_column(DateTime,insert_default=func.now(),onupdate=func.now(),default=datetime.now,comment="修改时间")classBook(Base):__tablename__="book"id:Mapped[int]=mapped_column(primary_key=True,comment="书籍id")bookname:Mapped[str]=mapped_column(String(255),comment="书名")author:Mapped[str]=mapped_column(String(255),comment="作者")price:Mapped[float]=mapped_column(comment="价格")publisher:Mapped[str]=mapped_column(String(255),comment="出版社")# 3.启动应用时建表,FASTAPI启动时调用建表的函数asyncdefcreate_tables():#创建异步引擎,创建事务建表asyncwithasync_engine.begin()asconn:awaitconn.run_sync(Base.metadata.create_all)#模型类的元数据@app.on_event("startup")asyncdefstartup_event():awaitcreate_tables()@app.get("/")asyncdefroot():return{"message":"Hello World"}
http://www.jsqmd.com/news/947579/

相关文章:

  • 新英格兰博士后系统性斩获学位论文奖:选题、申报与演讲实战指南
  • Qwen-MT实测:轻量级翻译模型如何兼顾速度与术语精准度
  • 数据标注避坑指南:用Labelme和LabelImg时,这些‘奇葩’图片和路径问题让你闪退
  • 不止于画图:用Matlab分析普朗克定律,解读温度如何“塑造”光谱与维恩位移
  • 告别百度网盘龟速!保姆级教程:从官网下载到激活SecureCRT 8.7.3和SecureFX
  • 海信机顶盒eMMC存储可靠性验证套件(含APK+Windows自动化脚本)
  • 深圳宇舶镂空手表回收2026,潮流腕表变现避压价套路 - 奢侈品回收测评
  • 5分钟快速上手RVC-WebUI语音克隆:零基础实现高质量音色转换
  • 互联网大厂Java求职面试实战:Java SE、Spring生态与微服务全技术栈问答解析
  • 【分享】今天学点啥 文档转课神器 让学习有趣又高效!
  • 5分钟破解百度网盘限速:无需会员的满速下载完整指南
  • Harness层故障导致大模型‘安静变笨’的工程复盘
  • Claude 3 Opus技术解析与企业级应用实战指南
  • 别再一刀切了!Maven多模块项目精细化管理:Spring Boot插件继承与排除实战
  • 深圳欧米茄海马回收|2026新款老款价差,高价出手技巧 - 奢侈品回收测评
  • 【Redis】Cluster集群Day11(2026年)
  • 给Chromium动个小手术:手把手教你修改源码,让Audio指纹随机化(附完整代码)
  • ThinkPad开机报错0183/0251/0271?别慌,手把手教你进BIOS重置EFI变量和CMOS时间
  • 谷歌 Phone 应用推新功能防 AI 仿冒诈骗,6 月安卓更新还有多项亮点
  • 2026石家庄翡翠回收看准这三点,高价卖不踩坑无套路 - 奢侈品回收评测
  • 告别Keil和IAR!STM32CubeIDE保姆级安装与首个工程配置(附中文路径避坑)
  • 青年科学家奖项的加法效应:从资源叠加到生态赋能
  • 2026 武汉钻石回收攻略:闲置钻饰稳妥变现指南 - 奢侈品回收评测
  • 别再让RAG乱检索了!用Self-RAG教你让大模型学会‘思考’后再回答
  • 宏基因组分析新利器:5分钟上手CheckM2,用机器学习模型搞定分箱质量评估与筛选
  • 免费开源AMD Ryzen调试工具SMUDebugTool完整指南:从新手到专家的硬件掌控之旅
  • OA审批流踩坑记:事务、状态流转与通知推送的3个实战细节
  • Appium Inspector 保姆级配置指南:从启动到连接真机/模拟器的完整流程
  • GPT-5.5并不存在:大模型版本号乱象与语义化版本失效真相
  • 2026 石家庄翡翠回收:闲置翡翠变现靠谱渠道全盘点 - 奢侈品回收评测