FastAPI连接MySQL

简介

FastAPI是一个用于构建高性能API的Python框架。它提供了极快的性能和直观的API设计,使开发者能够快速构建强大的Web应用程序。在实际应用中,通常需要与数据库进行交互,本文将介绍如何使用FastAPI连接MySQL数据库。

准备工作

在开始之前,我们需要确保已经安装了Python和FastAPI。此外,还需要安装Python的MySQL驱动程序,可以使用mysql-connector-python库来实现与MySQL的连接。

可以使用以下命令来安装mysql-connector-python库:

$ pip install mysql-connector-python

连接MySQL数据库

在FastAPI中连接MySQL数据库的过程非常简单。首先,我们需要导入mysql.connector模块,并创建一个数据库连接对象。

import mysql.connector

# 创建数据库连接
conn = mysql.connector.connect(
    host="localhost",
    user="username",
    password="password",
    database="database_name"
)

在上面的代码中,我们使用mysql.connector.connect方法来创建与MySQL数据库的连接。需要提供主机名、用户名、密码和数据库名称作为参数。

执行SQL查询

一旦与数据库建立了连接,我们就可以执行SQL查询了。可以使用cursor对象执行查询和获取结果。

# 创建游标
cursor = conn.cursor()

# 执行SQL查询
cursor.execute("SELECT * FROM table_name")

# 获取查询结果
result = cursor.fetchall()

# 打印结果
for row in result:
    print(row)

# 关闭游标和连接
cursor.close()
conn.close()

在上面的代码中,我们首先创建了一个游标对象,然后使用execute方法执行SQL查询语句。然后,使用fetchall方法获取查询结果,并使用循环遍历结果集。

最后,我们需要关闭游标和连接,释放资源。

使用FastAPI进行数据库操作

FastAPI提供了一个简单而强大的API路由机制,可以轻松地处理与数据库的交互。我们可以在路由函数中执行数据库操作,并将结果作为JSON响应返回给客户端。

下面是一个使用FastAPI连接MySQL数据库的示例:

from fastapi import FastAPI
import mysql.connector

# 创建FastAPI实例
app = FastAPI()

# 创建数据库连接
conn = mysql.connector.connect(
    host="localhost",
    user="username",
    password="password",
    database="database_name"
)

# 创建游标
cursor = conn.cursor()

# 定义路由
@app.get("/items/{item_id}")
def read_item(item_id: int):
    # 执行SQL查询
    cursor.execute(f"SELECT * FROM items WHERE id={item_id}")

    # 获取查询结果
    result = cursor.fetchone()

    # 返回结果
    return {"item": result}

# 关闭游标和连接
cursor.close()
conn.close()

在上面的代码中,我们首先创建了一个FastAPI实例,并在路由函数中定义了一个GET请求的路由。路由函数中执行了SQL查询,并将结果作为JSON响应返回给客户端。

总结

本文介绍了如何使用FastAPI连接MySQL数据库。我们首先学习了如何使用mysql-connector-python库连接MySQL数据库。然后,展示了如何执行SQL查询并获取结果。最后,我们使用FastAPI创建了一个简单的API路由,演示了如何将数据库查询结果作为JSON响应返回给客户端。

FastAPI是一个功能强大的Python框架,可以轻松地与MySQL数据库进行交互,为开发高性能的API提供了便利。希望本文能对你学习FastAPI连接MySQL数据库有所帮助。

引用

  • [FastAPI官方文档](
  • [MySQL Connector/Python官方文档](