Flask-SQLAlchemy的介绍
flask-sqlalchemy是一套ORM(Object Relationship Mapping,模型关系映射)框架。
*ORM可以让我们操作数据库和操作对象是一样的;一个表就抽象成一个类,一条数据就抽象成该类的一个对象。(操作数据库不需要再使用任何sql语句)
Flask-SQLAlchemy的使用
1.初始化和设置数据库配置信息:
**使用flask_sqlalchemy中的SQLAlchemy进行初始化:
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
db=SQLAlchemy(app)
2.设置配置信息:
**在‘config.py’文件中添加以下配置信息:
#格式:
# dialect+driver://username:password@host:port/database
DIALECT='mysql'
DRIVER='mysqldb'
USERNAME='root'
PASSWORD='root'
HOST='127.0.0.1'
PORT='3306' #mysql默认端口号
DATABASE='db_demo1'
#db_demo1为创建的数据库名称
SQLALCHEMY_DATABASE_URI="{}+{}://{}@{}:{}/{}?charset=utf8".format(DIALECT,DRIVER,USERNAME,PASSWORD,HOST,PORT,DATABASE)
SQLALCHEMY_TRACK_MODIFICATIONS=False
3.在主‘app’文件中添加配置文件:
import config
app = Flask(__name__)
app.config.from_object(config)
db=SQLAlchemy(app)
4.测试:
db.create_all()
Flask-SQLAlchemy创建模型与表的映射
1.模型需要继承自’db.Model’,然后需要映射到表中的属性,必须要写成’db.Column’的数据类型。
2.数据类型:
*'db.Integer’代表的是整形;
**‘db.String’代表的是’varchar’,需要指定最长的长度;
***‘db.Text’代表的是’text’。
3.其他参数:
*‘primary_key’:代表的是将这个字段设置为主键。
**‘autoincrement’:代表的是这个主键为自增长的。
***‘nullable’:代表的是这个字段是否可以为空,默认为空,当设置为’False’时表示在数据库中这个值就不能为空了
4.最后需要调用’db.create_all()'来将模型真正的创建到数据库中。