python - 使用 PyODBC 选择表中的列名

标签 python ms-access ms-access-2007 pyodbc

我正在编写一个 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/

相关文章:

python - 如何最佳地将数字与字符串分开

mysql - 使用 access 和 mysql 时,有没有办法查看哪些查询用于生成数据透视表?

c# - 执行带有日期的 SQL Where 语句时出现的问题

VBA 将参数添加到新的查询定义

vba - 使用路径从外部源将图像添加到表单中

database - 获取不满足查询的数据

vba - Access 报告: Wrap Text Not Working

python - 有没有办法测试数据 X 和二进制输出 Y 之间的相关性?

python - mypy 可以处理列表推导式吗?

python - ElasticSearch过滤器查询是否具有空值