当前位置: 首页 > 后端技术 > Python

Flask对mysql数据库的增删改查

时间:2023-03-25 23:18:18 Python

fromflask_sqlalchemyimportSQLAlchemydb=SQLAlchemy()添加1.创建模型对象并赋值user=User()user.username='zhangsan'user.password='123456'2.提交对象注意session:这里的session不是Flasksession,而是Flask-SQLAlchemysession。它本质上是数据库事务的增强版。db.session.add(user)3.Commitsessiondb.session.commit()delete和add类似,把add()换成commit()db.session.delete(me)db.session.commit()根据修改以主键或其他条件找到对应的用户user=User.query.get(id)修改数据并提交user.username='xxx'db.session.commit()query1.User.query.all()返回所有2.User.query.get(id)主键查询,返回一个3.filter_by只能查询等值数据User.query.filter_by(username='peter').all()返回对象列表User.query.filter_by(username='peter').first()返回查询中找到的第一条sql相似语句:select*fromUserwhereusername='peter'4.filter可以根据查询User.query.filter(User.username.endswith各种条件('s')).all()查询s末尾的数据SQL类似语句:select*fromUserwhereusernamelike'%s'User.username。你可以稍后再做。各种封装的方法,可以多试试例子:startswith('parameter')开头contains('parameter')containslike('%parameter%')模糊查询多条件组合查询andandoradd_()表示关系and,和括号中的条件User.query.filter(add_(User.username.endswith('s'),User.username.endswith('n'))).all()SQL类似语句:select*fromUser其中usernamelike'%s'和usernamelike'%n'or_()表示or关系,括号中为条件User.query.filter(or_(User.username.endswith('s'),User.username.endswith('n'))).all()SQL类似语句:select*fromUserwhereusernamelike'%s'orusernamelike'%n'not_()非条件类似!=User.query.filter(not_(User.username.endswith('s'))).all()取不以s结尾的数据in_()查找多条数据User.query.filter(User.username.in_(['zhangshan','lisi'])).all()如果要检索的数据是整数或日期类型User.age.__lt__(18)小于User.age.__gt__(18)大于User.age.__le__(18)小于等于User.age.__ge__(18)大于等于User.age.between(15,20)范围值排序User.query.order_by(User.username.all()按条件排序User.query.filter(User.username.contains('s')).order_by(User.username).all()降序User.query.order_by(-User.username).all()limitlimit+offsetUser.query.limit(2).all()从起始位置取前两条数据User.query.offset(2).limit(2).all()offset可以理解为partialShift,从起始位置跳过前两个,再取两个