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 应用程序,并且可以与各种数据库进行连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值