我正在编写一个 Python 程序,它使用 PyODBC 从 Microsoft Access mdb 文件中选择一些数据。
我需要发现几个不同表的列名。在 SQL Server 中,这可以通过使用如下查询来完成
SELECT c.name FROM sys.columns c, sys.tables t
WHERE c.object_id = t.object_id
AND t.name = tableName
但是该查询在 Access 中不起作用。与
SELECT MSysObjects.Name FROM MSysObjects
WHERE (((MSysObjects.Flags)=0) AND ((MSysObjects.Type)=1))
ORDER BY MSysObjects.Name
我可以获得非链接表名列表,但 MSysObject 似乎不包含列名列表。
有没有办法用SQL抓取Access数据库中表的列名?
最佳答案
我无法找到一个 SQL 查询来完成这个。但是,我确实发现 PyODB 有一个可以返回列列表的游标方法
# columns in table x
for row in cursor.columns(table='x'):
print row.column_name
关于python - 使用 PyODBC 选择表中的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4227836/