1、
Flask-SQLAlchemy
是一个为 Flask 应用增加 SQLAlchemy 支持的扩展。它致力于简化在 Flask 中 SQLAlchemy 的使用。
2、SQLAlchemy 是目前python中最强大的 ORM框架, 功能全面, 使用简单。
ORM优缺点
优点
1、有语法提示, 省去自己拼写SQL,保证SQL语法的正确性
2、orm提供方言功能(dialect, 可以转换为多种数据库的语法), 减少学习成本
3、面向对象, 可读性强, 开发效率高
4、防止sql注入攻击
5、搭配数据迁移, 更新数据库方便
缺点
1、需要语法转换, 效率比原生sql低
2、复杂的查询往往语法比较复杂 (可以使用原生sql替换)
使用,首先,安装两个依赖包
pip install flask-sqlalchemy
pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple
主要配置:
配置项 | 说明 |
---|---|
SQLALCHEMY_DATABASE_URI | 设置数据库的连接地址 |
SQLALCHEMY_BINDS | 访问多个数据库时, 用于设置数据库的连接地址 |
SQLALCHEMY_ECHO | 是否打印底层执行的SQL语句 |
SQLALCHEMY_RECORD_QUERIES | 是否记录执行的查询语句, 用于慢查询分析, 调试模式下自动启动 |
SQLALCHEMY_TRACK_MODIFICATIONS | 是否追踪数据库变化(触发钩子函数), 会消耗额外的内存 |
SQLALCHEMY_ENGINE_OPTIONS | 设置针对 sqlalchemy本体的配置项 |
拓展:
python2中数据库客户端:MySQLdb
python3中数据库客户端:pymysql
如果报错:ModuleNotFoundError: No module named 'MySQLdb'
解决方案1:python2和py