SQLAlchemy 是 Python 生态中广泛使用的 ORM 框架,支持多种数据库。本文将介绍如何使用 SQLAlchemy 连接 MySQL,涵盖环境搭建、核心概念、CRUD 实战及关系映射。
一、前置准备:环境配置
在写代码前,需完成以下配置:安装 MySQL、安装 Python 库、配置连接。
1. 安装 MySQL
推荐使用 Docker 部署 MySQL 以简化环境配置:
# 启动 MySQL 8.0 容器(密码设为 root123,端口映射 3306)
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root123 mysql:8.0
验证是否启动成功:
docker ps # 查看 mysql 容器是否在运行
2. 安装 Python 依赖库
需要两个库:
pymysql:Python 连接 MySQL 的驱动;sqlalchemy:核心 ORM 框架。
用 pip 安装:
pip install pymysql sqlalchemy
3. 测试 MySQL 连接
先写一段代码,验证能否连接到 MySQL:
from sqlalchemy import create_engine
# MySQL 连接字符串格式:mysql+pymysql://用户名:密码@主机:端口/数据库名
# 注意:首次连接需要先在 MySQL 中创建数据库(比如 test_db)
engine = create_engine('mysql+pymysql://root:root123@localhost:3306/test_db')
# 测试连接(无报错则成功)
with engine.connect() as conn:
print("连接成功!")
关键说明:
- 连接字符串中的
test_db需要先在 MySQL 中创建(用 Navicat 或命令行CREATE DATABASE test_db;); - 如果用本地 MySQL 而非 Docker,
host填localhost,密码填安装时设置的密码。
二、SQLAlchemy 核心概念
SQLAlchemy 的核心是'用对象封装数据库操作',主要包含 3 个关键组件:
1. Engine:数据库连接的'总开关'
- 作用:管理数据库连接池(不用每次操作都新建连接,提升性能);
- 类比:像家里的'总电源开关',控制所有电器的供电。
创建 Engine 的代码:
from sqlalchemy import create_engine
engine = create_engine(
,
echo=,
pool_size=,
max_overflow=
)

