flask模型的数据库操作语法

1.查询:
查询所有: 模型类.query.all() ~ select * from user;
如果有条件的查询:
模型类.query.filter_by(字段名 = 值) ~ select * from user where 字段=值;
模型类.query.filter_by(字段名 = 值).first() ~ select * from user where 字段=值 limit…;

select * from user where age>17 and gender=‘男’;
select * from user where username like ‘zhang%’;
select * from user where rdatetime> xxx and rdatetime < xxx;

     模型类.query.filter()  里面是布尔的条件   模型类.query.filter(模型名.字段名 == 值)
     模型类.query.filter_by()  里面是一个等值   模型类.query.filter_by(字段名 = 值)

***** 模型类.query.filter() ******

  1. 模型类.query.filter().all() -----> 列表
  2. 模型类.query.filter().first() ----->对象
    3.User.query.filter(User.username.endswith(‘z’)).all() select * from user where username like ‘%z’;
    User.query.filter(User.username.startswith(‘z’)).all() # select * from user where username like ‘z%’;
    User.query.filter(User.username.contains(‘z’)).all() # select * from user where username like ‘%z%’;

and or order_by like …

总结:

  1. User.query.all() 所有

  2. User.query.get(pk) 一个

  3. User.query.filter() * ???????

  4. User.query.filter_by()
    如果要检索的字段是字符串(varchar,db.String):
    User.username.startswith(’’)
    User.username.endswith(’’)
    User.username.contains(’’)
    User.username.like(’’)
    User.username.in_([’’,’’,’’])
    User.username == ‘zzz’
    如果要检索的字段是整型或者日期类型:
    User.age.lt(18)
    User.rdatetime.gt(’…’)
    User.age.le(18)
    User.age.ge(18)
    User.age.between(15,30)

    多个条件一起检索: and_, or_
    非的条件: not_

    排序:order_by()
    获取指定数量: limit() offset()

  5. User.query.filter_by()

删除:
两种删除:
1。逻辑删除(定义数据库中的表的时候,添加一个字段isdelete,通过此字段控制是否删除)
id = request.args.get(id)
user = User.query.get(id)
user.isdelete = True
db.session.commit()

2。物理删除(彻底从数据库中删掉)
id = request.args.get(id)
user = User.query.get(id)
db.session.delete(user)
db.session.commit()

更新:
id = request.args.get(id)
user = User.query.get(id)

修改对象的属性

user.username= xxxx
user.phone =xxxx

提交更改

db.session.commit()

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flask是一个基于Python的轻量级Web开发框架,它提供了许多扩展和工具来简化开发过程。而MySQL是一种常用的关系型数据库。结合Flask和MySQL,可以使用MySQL的语法进行数据库操作。 在Flask中使用MySQL时,可以使用SQLAlchemy作为ORM(对象关系映射)工具来连接和操作数据库。SQLAlchemy提供了一套面向对象的API,使得操作数据库更加方便和灵活。 下面是一个示例,展示了Flask中使用MySQL的语法: 1. 首先,需要安装Flask和SQLAlchemy模块。可以使用pip安装: ``` pip install flask sqlalchemy ``` 2. 在Flask应用中,需要导入相应的模块和函数: ```python from flask import Flask from flask_sqlalchemy import SQLAlchemy ``` 3. 创建Flask应用和数据库连接: ```python app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@localhost/db_name' db = SQLAlchemy(app) ``` 这里,需要将`username`、`password`和`db_name`分别替换为你的MySQL数据库的用户名、密码和数据库名称。 4. 定义数据模型类: ```python class User(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100)) ``` 这里,我们定义了一个名为`User`的数据模型类,它对应数据库中的一张表。 5. 进行数据库操作: ```python # 创建表 db.create_all() # 插入数据 user = User(name='test') db.session.add(user) db.session.commit() # 查询数据 users = User.query.all() # 更新数据 user = User.query.filter_by(id=3).first() user.name = 'new name' db.session.commit() # 删除数据 user = User.query.filter_by(id=3).first() db.session.delete(user) db.session.commit() ``` 在以上代码中,我们演示了创建表、插入数据、查询数据、更新数据和删除数据的操作。 需要注意的是,上述代码只是一个简单的示例,实际使用中可能需要更多的配置和处理。 综上所述,Flask提供了一套简单易用的接口来操作MySQL数据库,并可以使用SQLAlchemy进行更高级的数据库操作。通过结合Flask和MySQL,可以灵活地进行数据库的增删改查操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [MySQL数据恢复工具之MyFlash](https://blog.csdn.net/weixin_35318685/article/details/113212959)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值