flask mysql 增删改查_flask-sqlalchemy增删改查详解

本文详细介绍了如何使用 Flask-SQLAlchemy 实现 MySQL 数据库的增删改查操作。包括增加数据、修改数据、删除数据以及各种查询方式,如查询指定列、排序、条件筛选、模糊条件、范围条件、空值查询、原生SQL操作等。通过实例代码展示,帮助读者深入理解 Flask 中的数据库操作。
摘要由CSDN通过智能技术生成

增加数据

a = User(name='张三')

db.session.add(a)

db.session.commit()

7f062f3b77f8?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation修改数据

user = User.query.get(20)

user.name ='小名'

db.session.commit()

7f062f3b77f8?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation删除数据

user = User.query.get(20)

db.session.delete(user)

db.session.commit()

7f062f3b77f8?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

查询数据(1)可以用sqlalchemy中的方法去查询(利用数据查询对象 query)

查询指定列

a = db.session.query(User.id).all()

a1 = db.session.query(User.id).first()

# 也可以对返回结果进行切片

a2 = db.session.query(User.id).all()[1:2]

7f062f3b77f8?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation利用 order_by 进行排序

a = db.session.query(User).order_by(User.id)# 默认排序

b = db.session.query(User).order_by(-User.id)#倒序

c = User.query.order_by(-User.id)#也可以采用这个方法

for xin c:

print(x.id)条件筛选filter等值条件——equals / not equals

a = User.query.filter(User.id ==23).first()

b = User.query.filter(User.name !='小名')

# print(a.name)

for xin b:

print(x.name)

7f062f3b77f8?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation模糊条件

a = User.query.filter(User.name.like('%地%'))

for xin a:

print(x.name)

7f062f3b77f8?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation范围条件 in / not in

a = User.query.filter(User.id.in_((23,24,25)))#括号括起来 或者 中括号

b = User.query.filter(User.id.in_([24,25]))

for xin b:

print(x.name)

(这是not in 用法  在前面增加 ~)

b = User.query.filter(~User.id.in_([24,25]))空值查询

# IS NULLsession.query(User).filter(User.name == None)session.query(User).filter(User.name.is_(None)) # pep8# IS NOT NULLsession.query(User).filter(User.name != None)session.query(User).filter(User.name.isnot(None)) # pep8并且     或 者 条件 (三个方法)

(首先从 sqlalchemy 中导入 相关的类)

from sqlalchemyimport or_,and_,not_

a = User.query.filter(User.name =='小名').filter(User.id ==21).count()

b = User.query.filter(User.name =='小名' ,User.id ==21).count()

c = User.query.filter(and_(User.id ==21,User.name =='小名')).count()

d = User.query.filter(or_(User.name =='小名', User.id ==21)).count()

print(a,b,c,d)

7f062f3b77f8?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

使用原生的 mysql 语法(可以操作更加复杂的 内容)原生查询

# 原生语法

a = db.session.execute('select * from user')

for x     in     a :

print(x.name)

7f062f3b77f8?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation原生修改

首先直接修改的话 是没有效果的  需要提交才修改到数据库当中

7f062f3b77f8?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

7f062f3b77f8?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation原生增加

增加和删除的话都是需要提交才可以的 修改到数据库当中的

7f062f3b77f8?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

limit 的使用

a = User.query.limit(4)

print(a)

for xin a:

print(x.name)

(学习了 flask-sqlalchemy 让自己懂得了不少,希望再接再厉,喜欢的点个赞吧)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值