将sqlite PRAGMA信息的输出解析为python列表

时间:2017-02-14 15:45:21

标签: python python-3.x sqlite pragma

我正在尝试使用SQLite命令收集有关列名的信息:

columnsQuery = ("PRAGMA table_info(%s)" % (table))
columnNames = cursor.execute(columnsQuery)

根据我已经完成的研究,执行此命令应该给出给定表中的列名。由于我没有现成的sqlite数据库,我不知道PRAGMA的输出是什么样的。有没有办法可以解析我的变量" columnNames"是一个列名列表的Python列表?

1 个答案:

答案 0 :(得分:1)

pragma的输出有列和行,就像查询一样:

$ sqlite3
SQLite version 3.18.0 2017-02-11 14:59:58
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> create table t(id integer primary key, name text not null, date default current_date);
sqlite> .mode columns
sqlite> .header on 
sqlite> pragma table_info(t);            
cid         name        type        notnull     dflt_value  pk        
----------  ----------  ----------  ----------  ----------  ----------
0           id          integer     0                       1         
1           name        text        1                       0         
2           date                    0           current_da  0