Python 版本: 3.7.8
### Flask-SQLAlchemy 的介绍与安装:
1. ORM: Object Relationship Mapping (模型关系映射)
2. flask-sqlalchemy 是一套 ORM 框架
3. ORM 的优势:简单方便地操作数据库,和操作对象类似。一个表抽象成一个类,一条数据抽象成该类的一个对象。
4. 安装 flask-sqlalchemy
### Flask-SQLAlchemy 的使用:
1. 初始化和设置数据库配置信息:
* 使用 flask_sqlalchemy 中的 SQLAlchemy 进行初始化:
1 from flask_sqlalchemy import SQLAlchemy 2 import config 3 4 app = Flask(__name__) 5 app.config.from_object(config) 6 db = SQLAlchemy(app)
2. 设置配置信息,在 'config.py' 文件中添加以下:
1 # dialect+driver://username:password@host:port/database 2 DIALECT = 'mysql' 3 DRIVER = 'pymysql' # 驱动程序在 python2 中是 mysqldb 4 USERNAME = 'pydev' 5 PASSWORD = 'syjinsari' 6 HOST = '192.168.0.110' 7 PORT = '3306' 8 DATABASE = 'py_demo' 9 10 SQLALCHEMY_DATABASE_URL = '{}+{}://{}:{}@{}:{}/{}?charset=utf8'.format(DIALECT,DRIVER,USERNAME,PASSWORD,HOST,PORT,DATABASE) 11 12 SQLALCHEMY_TRACK_MODIFICATIONS = False
3. 在主 app 文件中添加配置文件:
1 app = Flask(__name__) 2 app.config.from_object(config) 3 db = SQLAlchemy(app)
4. 测试连接,成功或者报错:
''' db.create_all() '''
### 使用 Flask-SQLAlchemy 创建模型与表的映射:
1. 模型需要继承自 `db.Model` ,然后映射到表中的属性,必须写成 `db.Column`的数据类型。
2. 数据类型:db.Integer db.String db.Text
其他参数: primary_key autoincrement nullable
3. 最后调用 `db.create_all() 将模型真正创建到数据库中