如何在插入时生成带有列名的转储sqlite3?

时间:2017-05-24 01:57:03

标签: python database sqlite dump

关于sqlite3生成的转储:

$ sqlite3 db.sqlite3 .dump > db.dump.txt

在linux命令shell上执行上述命令后,转储将按以下语法模式显示插入内容:

  

INSERT INTO" table" VALUES(10,' column0''列1''列2&#39);

但是我需要列名的规范,如下例所示:

  

INSERT INTO" table" (id,col_0,col_1,col_2)VALUES(10,' column0',' column1',' column2');

sqlite3 documentation中,我找不到具体的内容。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

获得转储后,您可以执行某种搜索/替换操作。如果“table”的列为“id”,“col_0”和“col_1”,则将“insert into table values”替换为“insert into table(”id“,”col_0“,”col_1“)values'。< / p>

您可以在自己喜欢的编辑器(例如vim)或您选择的语言(我推荐Python)中执行此操作。

可以从转储文件的“create table”行检索列的名称。