模糊查询sqlchemy怎么写
时间: 2023-10-19 09:20:31 浏览: 78
MySQL模糊查询语法
在SQLAlchemy中,可以使用`like()`函数来实现模糊查询,其基本语法如下:
```python
from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData
from sqlalchemy.sql import select
engine = create_engine('sqlite:///example.db')
metadata = MetaData()
users = Table('users', metadata,
Column('id', Integer, primary_key=True),
Column('name', String),
Column('age', Integer),
)
# 模糊查询
query = select([users]).where(users.c.name.like('%John%'))
with engine.connect() as conn:
result = conn.execute(query).fetchall()
for row in result:
print(row)
```
在上面的例子中,`like()`函数用于匹配名字中包含“John”的用户。`%`符号表示0个或多个任意字符。所以,`'%John%'`表示名字中包含“John”的字符串。
你也可以使用其他通配符来进行模糊查询,如下:
- `_`表示匹配任意单个字符。例如,`'_ohn'`可以匹配名字为“John”、“Bohn”等。
- `[]`表示匹配括号中的任意一个字符。例如,`'[Jj]ohn'`可以匹配名字为“John”或“john”的用户。
更多关于模糊查询的用法可以参考SQLAlchemy官方文档。
阅读全文