SQLAlchemy 的基本使用(模糊查询 与 数据去重)

参考链接:https://www.cnblogs.com/kaerxifa/p/13476317.html

1.模糊查询

原生sql写法:

SELECT * FROM 表名 WHERE 字段名 LIKE '%匹配内容%' ;

利用sqlalchemy实现模糊查询:

center_filter = db.query(BudgetOrganizational).filter(
BudgetOrganizational.center_name.like('%'+ center_name +'%')
 ).all()

解释:利用 .like('%匹配内容%') 实现模糊查询
备注:BudgetOrganizational是一个数据模型;第一个center_name是数据模型中的一个字段;第二个center_name 是一个变量,由前端传递过来的; 

遇到问题:匹配内容是 变量 怎么办?

解决方案:直接用 + 拼接 就好啦 ~

2.数据去重

(1). distinct

# 去重查询distinct
from sqlalchemy import distinct
session.query(distinct(BudgetOrganizational.center_name)).all()

(2). group_by

session.query(BudgetOrganizational.center_name).group_by(BudgetOrganizational.center_name).all()

注意:一般查询出来的结果都是列表,要想转换查询结果类型,不需要for循环然后把每个元素打印出来看type类型(一般是),看了也不知道如何转换

最好的办法是直接将查询结果打印出来,然后想办法重组结果即可。

3.SQLAlchemy的简单使用

文章写的很nice,附上链接可参看~

博文链接: https://www.cnblogs.com/testlearn/p/14122184.html

 

你可能感兴趣的:(mysql,sqlalchemy)