我有一个.db文件要处理。但是,我不知道这个文件,包括它的表名和列名,这使我无法执行选择操作
我使用的是python中的./swi-find-anagrams < clean-words | sort > swi-result
Read and calculate signatures:
0.935780 sec
Sort pairs:
0.269151 sec
Squash and output:
0.187508 sec
Total:
1.392440 sec
。
答案 0 :(得分:2)
您可以通过查询sqlite_master
表来查找表名。
con = sqlite3.connect('database.db')
cursor = con.cursor()
cursor.execute("SELECT name FROM sqlite_master WHERE type='table';")
print(cursor.fetchall())
这将打印出db文件中的所有表。
要获取每个表的表结构,您需要对上面返回的每个表执行以下操作:
pragma table_info('<tablename>')
这将返回一个具有以下结构的表:
cid
=&gt;列ID name
=&gt;列名称type
=&gt;列的数据类型notnull
=&gt;列是否可以为null的布尔值dflt_value
=&gt;列的默认值pk
=&gt;列是否在主键中的布尔值