首页 > 数据库 >三周精通FastAPI:27 使用使用SQLModel操作SQL (关系型) 数据库

三周精通FastAPI:27 使用使用SQLModel操作SQL (关系型) 数据库

时间:2024-11-01 21:48:02浏览次数:6  
标签:None 27 hero int FastAPI session SQL Hero id

官网文档:https://fastapi.tiangolo.com/zh/tutorial/sql-databases/

SQL (关系型) 数据库

FastAPI不需要你使用SQL(关系型)数据库。

但是您可以使用任何您想要的关系型数据库。

这里我们将看到一个使用SQLModel的示例。

SQLModel是在SQLAlchemy和Pydantic的基础上构建的。它是由FastAPI的同一作者制作的,与需要使用SQL数据库的FastAPI应用程序完美匹配。

小贴士

你可以使用任何其他你想要的SQL或NoSQL数据库库(在某些情况下称为“ORM”),FastAPI不会强迫你使用任何东西。

由于SQLModel基于SQLAlchemy,您可以轻松使用SQLAlchemi支持的任何数据库(这使得它们也受SQLModel支持)您可以很容易地将其调整为任何SQLAlchemy支持的数据库,如:

  • PostgreSQL
  • MySQL
  • SQLite
  • Oracle
  • Microsoft SQL Server,等等其它数据库

在此示例中,我们将使用SQLite,因为它使用单个文件并且 在Python中具有集成支持。因此,您可以复制此示例并按原样来运行它。

稍后,对于您的产品级别的应用程序,您可能会要使用像PostgreSQL这样的数据库服务器。

Tip

这儿有一个FastAPIPostgreSQL的官方项目生成器,全部基于Docker,包括前端和更多工具:https://github.com/tiangolo/full-stack-fastapi-postgresql

这是一个非常简单而简短的教程,如果你想了解数据库、SQL或更高级的功能,请参阅SQLModel文档。

安装SQLModel

首先,确保创建虚拟环境,激活它,然后安装sqlmodel:

pip install sqlmodel

Successfully installed SQLAlchemy-2.0.36 sqlmodel-0.0.22

使用单个模型创建应用程序

我们将首先使用单个SQLModel模型创建该应用程序最简单的第一个版本。

稍后,我们将通过以下多种型号来提高它的安全性和多功能性。

标签:None,27,hero,int,FastAPI,session,SQL,Hero,id
From: https://blog.csdn.net/skywalk8163/article/details/143422393

相关文章

  • 零基础3分钟快速入门MYSQL关系数据库2【1-6见上篇】
    1-6点此链接→  零基础3分钟快速入门MYSQL【1-6】7、数据操作1、插入数据:insertinto表名(字段名1,字段名2....) values(字段对应的值1,字段对应的值2,.......),(字段对应的值1,字段对应的值2,.......);2、修改数据:update表名set 字段名1=新的数据值,字段......
  • 不写完整sql,DBeaver如何查询数据?效率翻倍!
    前言我们在使用DBeaver时,最常用的就是查询数据,除了在DBeaver里面直接写完整的sql语句进行查询外,其实还可以用不完整的sql语句来查询,效率翻倍。那么,我们该如何操作呢?如何操作首先,我们还是照旧打开某一张表的数据,这样默认是没有任何查询条件的。当我们需要按照一定的条件查询时,就......
  • Mysql学习笔记4--用户权限
    Mysql学习笔记4--用户权限新建用户root登陆ssh登陆服务器,然后以root账户登陆Mysql。sudomysql-uroot-p创建新用户CREATEUSER'John_Lennon'@'%'IDENTIFIEDBY'Beatles!666';创建一个新用户John_Lennon,密码为Beatles!666。其中@后面的%代表可以从任意IP登陆此账......
  • 基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现四
    一、前言介绍:1.1项目摘要随着电子商务的迅猛发展和城市化进程的加快,快递业务量呈现出爆炸式增长的趋势。传统的快递寄取方式,如人工配送和定点领取,已经无法满足现代社会的快速、便捷需求。这些问题不仅影响了快递服务的效率,也增加了快递员和消费者的不便。在这样的背景下,快递柜......
  • MySQL主从复制(docker环境)
    MySQL主从复制示例1创建master容器3307:dockerrun-d--namemysql-master\-p3307:3306\--privileged=true\-v/root/mysql-master/log:/var/log/mysql\-v/root/mysql-master/data:/var/lib/mysql\-v/root/mysql-master/conf:/etc/mysql/conf.d\-eMYSQL_ROO......
  • 深入解析 FastAPI 查询参数:配置、类型转换与灵活组合
    深入解析FastAPI查询参数:配置、类型转换与灵活组合本文全面解析了FastAPI查询参数的使用方法,包括配置默认值、设为可选或必选参数、类型转换以及组合使用等实用技巧。通过查询参数,开发者可以在路径操作函数中接收动态输入,灵活地构建API接口。文章详细说明了如何利用......
  • [极客大挑战 2019]EasySQL
    题目链接:https://buuoj.cn/challenges#[极客大挑战2019]EasySQL。打开后,页面如下所示:可以看到,只有一个登录框,没有其他的内容,一般这种情况,应当先考虑SQL注入。在密码框中直接插入万能密码:'or1=1;#。成功获取flag。知其然,知其所以然。一些常见的登陆功能的后端实现......
  • MySQL数据库学习指南
    一、数据库的用户管理操作1、启动MySQL服务器以管理员身份运行,否则权限不够会拒绝访问--网络命令启动MySQL80服务语句:netstartMySQL802、关闭MySQL服务器语句:netstopMySQL80     -网络命令关闭MySQL80服务3、连接MySQL服务器注意:连接服务器这里......
  • 【MySQL基础】高级查询
    文章目录一、聚合函数:`COUNT`、`SUM`、`AVG`、`MIN`、`MAX`1.统计总数:`COUNT`2.计算总和:`SUM`3.计算平均值:`AVG`4.找最小值:`MIN`5.找最大值:`MAX`综合使用聚合函数的例子小结二、分组查询——`GROUPBY`和`HAVING`1.按组来统计——`GROUPBY`2.为分组结果加条......
  • Chromium127编译指南 Linux篇 - 同步第三方库以及Hooks(六)
    引言在成功克隆Chromium源代码仓库并建立新分支之后,配置开发环境成为至关重要的下一步。这一过程涉及获取必要的第三方依赖库以及设置钩子(hooks),这些步骤对于确保后续的编译和开发工作能够顺利进行起着决定性作用。本指南旨在详细阐述这些配置步骤的执行方法,为开发者提供清晰......