python - 使用 pyodbc 将 sql 表的列名保存为列表

标签 python sql-server pyodbc

我需要在另一个复杂的Python代码中使用列表中的sql表的列名尝试了一些旧的SO帖子中显示的一些技巧:

db_columns = cursor.columns(table='result', schema='dbo').fetchall()

  [(u'Basis', u'dbo', u'result', u'TXN_KEY', -5, u'bigint identity', 19, 8, 0, 10, 0, None, None, -5, None, None, 1, 'NO', 0, 0, 0, 1, None, None, None, None, None, None, 63),(u'Basis', u'dbo', u'result', u'Send_Agent', 12, u'varchar', 9, 9, None, None, 1, None, None, 12, None, 9, 2, 'YES', 0, 0, 0, 0, None, None, None, None, None, None, 39),(u'Basis', u'dbo', u'result', u'Pay_Agent', 12, u'varchar', 9, 9, None, None, 1, None, None, 12, None, 9, 3, 'YES', 0, 0, 0, 0, None, None, None, None, None, None, 39)]

上面的输出看起来是乱码,并且有很多不必要的信息。我需要的只是结果表的列名并将其分配给列表= ['TXN_KEY','Send_Agent','Pay_Agent']

for row in cursor.columns(table='result'):
 x = row.column_name
 x
 Out[14]: u'Pay_Agent'

此输出仅提供了其中一个列名称。

预先感谢您的见解。

最佳答案

像这样选择

SELECT COLUMN_NAME,* 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA='dbo' and TABLE_NAME = 'YourTableName'

关于python - 使用 pyodbc 将 sql 表的列名保存为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37491416/

相关文章:

python - 如何使用 Python (pandas) 打开 SQL Server .mdf 文件

sql - 在 Gliffy 中导入 ER 图

sql - 如何获取受存储过程影响的记录数?

python - pyodbc: ('Params must be in a list, tuple, or Row' , 'HY000' ) 与 NumPy 数据

python - 如何将两个参数传递给 Pool.starmap()?

sql-server - 你的 Nvarchar() 有多大?

python - 当端口 1433 关闭时,pymssql 库如何回退到命名管道端口?

没有sql连接的Python测试

python - CPU 使用率(top 的输出)如何总计超过 100%?

Python - 无法连接到数据库