如何列出任何SQL查询中的列名称

时间:2012-07-22 20:27:44

标签: sql sqlalchemy

使用SQL Alchemy,我想知道是否可以从任何SQL查询中获取所有列的列表。

例如,如果我调用此查询:

SELECT * FROM users;

我需要所有结果,还需要表users中所有列的列表。

我知道我可以点击信息表Schema,但我的问题也会影响任何类型的查询,例如:

SELECT u.*, f.name, f.size FROM users u LEFT JOIN files f ON f.user_id = u.id;

我在SQL Alchemy [column_description][1]中看到了这个选项,但我不知道它是否仅适用于ORM风格;我使用非ORM样式(我将直接编写查询)。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

使用ResultProxy.keys()

sql = "SELECT * FROM users;"
res_proxy = session.execute(sql)
column_names = res_proxy.keys()

但是,我同意Mark不应该使用SELECT *作为一般规则。

相关问题