FastAPI и MySQL: краткое руководство по подключению и запросам к базе данных

Вы хотите подключить FastAPI, мощную веб-инфраструктуру Python, к серверу MySQL? Не смотрите дальше! В этой статье блога мы рассмотрим различные методы установления соединения между FastAPI и базой данных MySQL и продемонстрируем, как выполнять основные операции CRUD. Итак, приступим!

Метод 1: использование библиотеки mysqlclient

Один из самых простых способов подключения FastAPI к серверу MySQL — использование библиотеки mysqlclient. Во-первых, вам нужно установить его с помощью pip:

pip install mysqlclient

После установки вы можете создать новый файл Python, скажем, main.py, и импортировать необходимые модули:

from fastapi import FastAPI
import MySQLdb

Далее вы можете установить соединение с вашим сервером MySQL:

app = FastAPI()
db = MySQLdb.connect(
    host="your_host",
    user="your_username",
    passwd="your_password",
    db="your_database"
)

Не забудьте заменить "your_host", "your_username", "your_password"и "your_database"фактическими данными вашего сервера MySQL.

Метод 2: PyMySQL – MySQL-клиент на чистом Python

Если вы предпочитаете MySQL-клиент на чистом Python, PyMySQL — отличный выбор. Начните с установки с помощью pip:

pip install pymysql

Теперь в файл main.pyимпортируйте необходимые модули:

from fastapi import FastAPI
import pymysql

Далее установите соединение с вашим сервером MySQL:

app = FastAPI()
db = pymysql.connect(
    host="your_host",
    user="your_username",
    password="your_password",
    database="your_database"
)

Опять же, обязательно замените значения заполнителей фактическими данными вашего сервера MySQL.

Метод 3: SQLAlchemy – набор инструментов Python SQL

Другой популярный подход к подключению FastAPI к MySQL — использование SQLAlchemy, комплексного набора инструментов SQL и библиотеки объектно-реляционного сопоставления (ORM). Чтобы установить SQLAlchemy, выполните следующую команду:

pip install sqlalchemy

В файл main.pyимпортируйте необходимые модули:

from fastapi import FastAPI
from sqlalchemy import create_engine

Теперь установите соединение с вашим сервером MySQL:

app = FastAPI()
db_url = "mysql+mysqlconnector://your_username:your_password@your_host/your_database"
engine = create_engine(db_url)

Замените "your_username", "your_password", "your_host"и "your_database"данными вашего сервера MySQL.

Запрос к базе данных MySQL

После того как вы успешно подключили FastAPI к вашему серверу MySQL любым из вышеперечисленных методов, вы можете начать отправлять запросы к базе данных. Вот пример получения данных из таблицы с именем users:

@app.get("/users")
def get_users():
    cursor = db.cursor()
    cursor.execute("SELECT * FROM users")
    results = cursor.fetchall()
    return {"users": results}

В этом примере определяется маршрут API /users, который выполняет запрос SELECTдля получения всех записей из таблицы users. Затем данные возвращаются в виде ответа JSON.

Заключение

В этой статье мы рассмотрели три различных метода подключения FastAPI к серверу MySQL. Мы обсудили использование библиотеки mysqlclient, PyMySQL и SQLAlchemy. У каждого метода есть свои преимущества, поэтому выберите тот, который лучше всего соответствует требованиям вашего проекта.

Не забудьте установить необходимые библиотеки и правильно настроить детали подключения. После подключения вы сможете легко выполнять операции CRUD и создавать мощные API с помощью FastAPI и MySQL.

Теперь вы готовы использовать возможности FastAPI и MySQL для своего следующего проекта серверной разработки!