赞
踩
之前我们讲了许多关于sqlalchemy的文章,今天就为大家讲讲flask_sqlalchemy的使用!在使用flask_sqlalchemy之前,请确保安装了flask_sqlalchemy,安装代码:
pip install flask_sqlalchemy
flask_sqlalchemy用法与sqlalchemy类似,两者主要区别是sqlalchemy独立于flask使用。
首先,我们先创建一个flask项目,并命名为 flask_sqlalchemy_demo
创建完flask项目后,它会自动生成如下代码
- from flask import Flask
-
- app = Flask(__name__)
-
- @app.route('/')
- def hello_world():
- return 'Hello World!'
-
- if __name__ == '__main__':
- app.run()
接着,我们从flask_sqlalchemy中导入SQLAlchemy并实例化,代码如下(注意:导入的SQLAlchemy跟我们之前讲的sqlalchemy不一样,我们现在导入的SQLAlchemy是一个类,之前所讲的sqlalchemy是一个包)
- from flask_sqlalchemy import SQLAlchemy
- db = SQLAlchemy(app)
实力化db对象后,我们再创建一个User模型,在创建User模型前,我们要先做好数据库相关配置,不然flask项目怎么与数据库相连?是吧!我们就先做好数据库配置,代码如下:
- DIALCT = "mysql"
- DRIVER = "pymysql"
- USERNAME = "root"
- PASSWORD = "admin"
- HOST = "127.0.0.1"
- PORT = "3306"
- DATABASE = "flask_sqlalchmy_demo"
- DB_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALCT,DRIVER,USERNAME,PASSWORD,HOST,PORT,DATABASE)
- app.config["SQLALCHEMY_DATABASE_URI"] = DB_URI
数据库连接和sqlalchemy连接数据库代码一样,定义好数据库连接后,我们就可以定义模型了(注意:模型继承的类是db.Model,而不是Base,数据类型及列属性不用从sqlalchemy导入,直接从db导入即可),代码如下:
- class User(db.Model):
- __tablename__ = "user"
- id = db.Column(db.Integer , primary_key=True , autoincrement=True)
- name = db.Column(db.String(50) , nullable=False)
创建模型后,我们让它映射到数据库中,之前我们用sqlalchemy是Base.create_all(),现在我们用flask_sqlalchemy,其代码如下:
db.create_all()
运行创建数据库代码,然后 show tables查看是否映射到数据库中。运行代码截图如下:
OK,数据表已成功映射到数据库中,下面我们再讲讲flask_sqlalchemy简单增删查改操作,因为我之前讲过关于sqlalchemy数据操作的文章《使用sqlalchemy对数据库表进行增删查改操作》!
添加数据
- user1 = User(name = "jack")
- user2 = User(name = "bob")
- db.session.add_all([user1,user2])
- db.session.commit()
结果如下:
查询数据
- results = User.query.all()
- print(results)
结果如下
修改数据(将name为jack修改成blue)
- result = User.query.filter(User.name == "jack").first()
- result.name = "blue"
- db.session.commit()
结果如下
删除数据(将name为bob的数据删除)
- result = User.query.filter(User.name == "bob").first()
- db.session.delete(result)
- db.session.commit()
结果如下
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。