fastapi 链接mysql
MySQL 是一种常用的开源关系型数据库管理系统,而 FastAPI 是一个高性能的 Web 框架,它使用 Python 的异步特性和类型注解来使得应用的开发更加高效。在本文中,我们将介绍如何使用 FastAPI 来连接 MySQL 数据库,并进行相关的数据库操作。
FastAPI 链接 MySQL
MySQL 是一种常用的开源关系型数据库管理系统,而 FastAPI 是一个高性能的 Web 框架,它使用 Python 的异步特性和类型注解来使得应用的开发更加高效。在本文中,我们将介绍如何使用 FastAPI 来连接 MySQL 数据库,并进行相关的数据库操作。
安装依赖
首先,我们需要安装一些必要的依赖包。在命令行中执行以下命令来安装 FastAPI 和相关的 MySQL 驱动:
pip install fastapi
pip install uvicorn[standard]
pip install pymysql
配置数据库连接
在开始之前,我们需要先创建一个 MySQL 数据库,并获取到数据库的连接信息,如主机名、端口、用户名、密码和数据库名称等。我们可以将这些信息配置在一个 .env 文件中,然后使用 Python 的 dotenv 库来读取这些配置信息。创建一个 .env 文件并添加以下内容:
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=123456
DB_DATABASE=mydb
然后,我们可以在 Python 代码中使用以下方式来读取这些配置信息:
from dotenv import load_dotenv
import os
load_dotenv()
DB_HOST = os.getenv("DB_HOST")
DB_PORT = os.getenv("DB_PORT")
DB_USER = os.getenv("DB_USER")
DB_PASSWORD = os.getenv("DB_PASSWORD")
DB_DATABASE = os.getenv("DB_DATABASE")
连接数据库
接下来,我们需要使用 Python 的 MySQL 驱动程序来连接数据库。我们可以使用 pymysql 库来实现这个功能。在 Python 代码中,我们可以这样来连接数据库:
import pymysql
connection = pymysql.connect(
host=DB_HOST,
port=int(DB_PORT),
user=DB_USER,
password=DB_PASSWORD,
database=DB_DATABASE,
cursorclass=pymysql.cursors.DictCursor
)
这里,我们使用了 pymysql.connect 函数来创建一个数据库连接对象,并传入了一些连接参数,如主机名、端口、用户名、密码和数据库名称等。
数据库操作
现在,我们已经成功连接到了 MySQL 数据库,接下来我们可以进行相关的数据库操作,如查询、插入、更新和删除等。
查询数据
以下是一个查询数据的示例,我们可以使用 SQL 语句来执行查询操作:
try:
with connection.cursor() as cursor:
# SQL 查询语句
sql = "SELECT * FROM users"
# 执行 SQL 查询
cursor.execute(sql)
# 获取查询结果
result = cursor.fetchall()
# 打印查询结果
for row in result:
print(row)
finally:
connection.close()
插入数据
以下是一个插入数据的示例,我们可以使用 SQL 语句来执行插入操作:
try:
with connection.cursor() as cursor:
# SQL 插入语句
sql = "INSERT INTO users (name, age) VALUES (%s, %s)"
# 插入数据
cursor.execute(sql, ("John Doe", 30))
# 提交事务
connection.commit()
finally:
connection.close()
更新数据
以下是一个更新数据的示例,我们可以使用 SQL 语句来执行更新操作:
try:
with connection.cursor() as cursor:
# SQL 更新语句
sql = "UPDATE users SET age = %s WHERE name = %s"
# 更新数据
cursor.execute(sql, (35, "John Doe"))
# 提交事务
connection.commit()
finally:
connection.close()
删除数据
以下是一个删除数据的示例,我们可以使用 SQL 语句来执行删除操作:
try:
with connection.cursor() as cursor:
# SQL 删除语句
sql = "DELETE FROM users WHERE name = %s"
# 删除数据
cursor.execute(sql, ("John Doe",))
# 提交事务
connection.commit()
finally:
connection.close()
结论
通过以上步骤,我们已经成功使用 FastAPI 来连接 MySQL 数据库,并进行了相关的数据库操作。当然,这只是一个简单的示例,实际应用中可能还需要更复杂的操作,如条件查询、分页查询等,但是这些操作的原理都是相似的。
FastAPI 提供了一个强大而灵活的框架来开发 Web 应用程序,并且可以与各种数据库进行连接
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)