Flask - SQLAlchemy #
一、安装与配置 #
1.1 安装 #
bash
pip install flask-sqlalchemy
1.2 基本配置 #
python
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
1.3 配置选项 #
| 选项 | 说明 |
|---|---|
| SQLALCHEMY_DATABASE_URI | 数据库连接URI |
| SQLALCHEMY_TRACK_MODIFICATIONS | 是否追踪修改 |
| SQLALCHEMY_ECHO | 是否输出SQL语句 |
| SQLALCHEMY_POOL_SIZE | 连接池大小 |
| SQLALCHEMY_POOL_TIMEOUT | 连接超时时间 |
二、数据库连接 #
2.1 SQLite #
python
# 相对路径
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db'
# 绝对路径
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////path/to/app.db'
# 内存数据库
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///:memory:'
2.2 MySQL #
python
# 使用pymysql
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://user:password@localhost/dbname'
# 使用mysqlclient
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://user:password@localhost/dbname'
2.3 PostgreSQL #
python
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://user:password@localhost/dbname'
# 使用psycopg2
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql+psycopg2://user:password@localhost/dbname'
三、初始化方式 #
3.1 直接初始化 #
python
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db'
db = SQLAlchemy(app)
3.2 工厂模式 #
python
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
def create_app():
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db'
db.init_app(app)
return app
四、创建数据库 #
4.1 创建表 #
python
from app import db
with app.app_context():
db.create_all()
4.2 删除表 #
python
with app.app_context():
db.drop_all()
五、下一步 #
接下来让我们学习 模型定义,了解如何定义数据模型!
最后更新:2026-03-28