9.Flask-Flask-SQLAlchemy-数据库连接
Flask-SQLAlchemy数据库连接
1、创建数据库连接文件
db.py
from sqlalchemy import create_engine # 驱动引擎 from sqlalchemy.ext.declarative import declarative_base # 数据库基类 from sqlalchemy import Column, Integer, String, Boolean, Numeric, Text # 字段、整型 from sqlalchemy.orm import sessionmaker # 连接会话 engine = create_engine( # 连接数据库的URL # url="mysql+pymysql://root:123@127.0.0.1:3306/students?charset=utf8mb4", # 如果底层驱动是pymysql students是数据库名 url="mysql://stu:123@127.0.0.1:3306/students?charset=utf8mb4", # 如果底层驱动是MysqlDB echo=True, # 当设置为True时会将orm语句转化为sql语句打印,一般debug的时候可用 pool_size=8, # 连接池的大小,默认为5个,设置为0时表示连接无限制 pool_recycle=60*30 # 设置时间以限制数据库多久没连接自动断开 ) DbSession = sessionmaker(bind=engine) session = DbSession() # 创建数据基类 Model = declarative_base()
注意:密码有特殊字符时需要另做处理
2、其他设置项目
# 动态追踪修改设置,如未设置只会提示警告
SQLALCHEMY_TRACK_MODIFICATIONS = True
#查询时会显示原始SQL语句
SQLALCHEMY_ECHO = True