Flask-4 数据库操作使用SQLAlchemy

2019-07-30 10:44:36 浏览数 (1)

提示:本篇文章内容建议使用电脑浏览器查阅。

1. 什么是Flask-SQLAlchemy ?

SQLAlchemy是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系映射(ORM)工具。

2. 如何使用Flask-SQLAlchemy?

在命令行中执行pip install flask-sqlalchemy进行安装:

接着上一章内容,在Flask_Blog文件夹中修改flaskblog.py(修改部分已标注见图):

使用sqlalchemy,在Flask_Blog文件夹下打开cmd命令行,输入python,导入db实例:

接下来使用db实例进行一些数据库操作演示:

代码语言:javascript复制
#执行数据库site.db创建,user表,post表的初始化创建
>>> db.create_all()
#我们在Flask_Blog文件夹下会看到生成了一个site.db的文件
代码语言:javascript复制
#导入实体类对象User和Post
>>> from flaskblog import User,Post
#初始化user_1对象并赋值
>>> user_1 = User(username='Tbag',email='Tbag@email.com',password='password' )
#保存user_1到数据库中
>>> db.session.add(user_1)
##初始化user_2对象并赋值
>>> user_2 = User(username='Yale',email='Yale@email.com',password='password2')
#保存user_2到数据库中
>>> db.session.add(user_2)
#提交事务
>>> db.session.commit()
#查询所有用户信息
>>> User.query.all()
[User('Tbag','Tbag@email.com','default.jpg'), 
User('Yale','Yale@email.com','default.jpg')]
#查询第一条数据
>>> User.query.first()
User('Tbag','Tbag@email.com','default.jpg')
#按照条件查询
>>> User.query.filter_by(username='Yale').all()
[User('Yale','Yale@email.com','default.jpg')]
>>> User.query.filter_by(username='Yale').first()
User('Yale','Yale@email.com','default.jpg')
#查询结果赋值给user对象
>>> user =  User.query.filter_by(username='Yale').first()
>>> user
User('Yale','Yale@email.com','default.jpg')
#获取user id
>>> user.id
2
#按照主键id查询用户
>>> user = User.query.get(2)
>>> user
User('Yale','Yale@email.com','default.jpg')
#获取用户的博客:为空
>>> user.posts
[]
#初始化两条博客数据
#添加到数据库中
>>> post_1 =Post(title='Blog 1',content='First blog',user_id=user.id)
>>> post_2 =Post(title='Blog 2',content='Second blog',user_id=user.id)
>>> db.session.add(post_1)
>>> db.session.add(post_2)
>>> db.session.commit()
#再次获取用户的博客信息
>>> user.posts
[Post('Blog 1', '2019-06-17 12:18:20.586947'), Post('Blog 2', '2019-06-17 12:18:
20.589947')]
>>>

以上就是关于Flask-SQLAlchemy数据库工具包的使用,如需了解更多请访问:https://www.sqlalchemy.org/

关注公号

下面的是我的公众号二维码图片,欢迎关注。

yale记公众号

0 人点赞