我正在使用 pyodbc 连接到各种兼容 odbc 的数据库。
假设一个 MySql 数据库中有名字、年龄、国籍。现在我的要求是我必须生成一个包含其中记录的字典,例如:
{'Name' : 'a', 'Age' : '20'}
如果在 pyodbc 对象的 execute() 方法中指定了查询。
我为获取列标题(即“姓名”、“年龄”)所做的是我从选择查询中创建了一个新表,然后使用
select column_name from information_schema.columns where table_name=xxx
获取列标题。我不知道查询“ create table ”、“ drop table ”和“ select column name ....”命令对于 odbc 兼容数据库是否都相同。我检查了 PostgreSql 和 MySql,工作正常,但如果它们不同,那么我需要更改我的实现,就像:
if mysql:
execute(this)
if posegresql:
execute(this)
if ibmdb2:
execute(this)
如果我上面提到的查询对于所有数据库都是相同的,那么就没有问题,但是如果它们不同,那么简单有效的解决方案是什么?