kha*_*ula 1 python sqlalchemy psycopg2 list bindparam
我在数据库中的表如下
Username city Type
Anna Paris abc
Marc london abc
erica rome AF
Sara Newyork cbd
silvia paris AD
Run Code Online (Sandbox Code Playgroud)
我有一个包含字符串值的列表
typelist = {'abc', 'cbd'}
Run Code Online (Sandbox Code Playgroud)
我想使用 sqlalchemy 查询数据库,从列类型等于列表中的值的表中获取数据:
Username city Type
Anna Paris abc
Marc london abc
Sara Newyork cbd
Run Code Online (Sandbox Code Playgroud)
我正在尝试这段代码
sql = "SELECT * FROM table WHERE data IN :values"
query = sqlalchemy.text(sql).bindparams(values=tuple(typelist))
conn.engine.execute(query)
Run Code Online (Sandbox Code Playgroud)
但它只返回类型列表中的一个值,而不是所有列表值。
Username city Type
Sara Newyork cbd
Run Code Online (Sandbox Code Playgroud)
sql = "SELECT * FROM table WHERE data IN :values"
query = sqlalchemy.text(sql).bindparams(sqlalchemy.bindparam("values", expanding=True))
conn.engine.execute(query, {"values": typelist})
Run Code Online (Sandbox Code Playgroud)