美文网首页
flask-sqlalchemy增删改查详解

flask-sqlalchemy增删改查详解

作者: 阿猹在路上 | 来源:发表于2019-05-23 18:23 被阅读0次

参考了大佬的文章 :https://www.imooc.com/article/details/id/22343

增加数据 

a = User(name='张三')

db.session.add(a)

db.session.commit()

修改数据

user = User.query.get(20)

user.name ='小名'

db.session.commit()

删除数据

user = User.query.get(20)

db.session.delete(user)

db.session.commit()

查询数据

(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]

利用 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)

模糊条件

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

for xin a:

print(x.name)

范围条件 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)

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

原生查询

# 原生语法

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

for x     in     a :

    print(x.name)

原生修改

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

原生增加

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

limit 的使用

a = User.query.limit(4)

print(a)

for xin a:

print(x.name)

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

相关文章

  • flask-sqlalchemy增删改查详解

    参考了大佬的文章 :https://www.imooc.com/article/details/id/22343 ...

  • spring-data-jpa 目录

    ReadMe 快速配置 crud demon 增删改查详解

  • mysql的插入语句

    MySQL增删改查之增insert、replace

  • MYSQL数据库的增删改查

    MYSQL数据库的增删改查 一.对于库的增删改查 增create database 库名称;create data...

  • 关于python的list的增查删改

    说到增查删改,想起了数据库,我们在关系型数据库当中就会对表进行增查删改。 在python当中我们也可以对list进...

  • 0812 A

    mongodb 增删改查 增: db.createCollection("name", {options:numb...

  • 增删改

    对于表中的操作,就是增删改查,查内容较多,这里先说增删改。 1.增(insert或者load) 即插入数据,多行插...

  • SQL查询结构总结

    SQL 增删改查 对数据库有修改的操作是:增删改 增 insert into 表名 values(); 删 del...

  • 2018-03-03

    rails c增删改查 增:user = User.create(name:'Jack', age:'18') 删...

  • 函数和增删改查(运用)

    增删改查 (基本命令) 1 . 增 inset(position,value)append(value)exten...

网友评论

      本文标题:flask-sqlalchemy增删改查详解

      本文链接:https://www.haomeiwen.com/subject/vqmbzqtx.html