linux-sqlite3和bash,数据库设置

我的bash脚本自动将一些数据输入到sqlite数据库中.我遇到的问题是,每次更改数据库设置时,运行下一个命令时所做的更改都会丢失.一个例子将对此进行解释.

sqlite3 Correlate.db ".mode csv"
sqlite3 Correlate.db ".output correlated.csv"
sqlite3 Correlate.db "SELECT * FROM ALL_Data;
sqlite3 Correlate.db ".show"

.show的最终结果如下:

     echo: off
  explain: off
  headers: off
     mode: list
nullvalue: ""
   output: stdout
separator: "|"
    stats: off
    width: 

似乎我将输出模式更改为csv的操作已经丢失了,即使stdout正在打印我要查看的数据,我的输出文件也没有数据.每次调用它都会重置数据库设置吗?我很困惑!

解决方法:

我会尝试像这样将多个命令发送到一个sqlite3实例:

sqlite3 Correlate.db <<EOF
.mode csv
.output correlated.csv
SELECT * FROM ALL_Data;
.show
EOF

您也可以将这些命令放在文件中,然后将其重定向sqlite3,例如:

sqlite3 Correlate.db < commandfile

相关文章

SQLite架构简单,又有Json计算能力,有时会承担Json文件/RES...
使用Python操作内置数据库SQLite以及MySQL数据库。
破解微信数据库密码,用python导出微信聊天记录
(Unity)SQLite 是一个软件库,实现了自给自足的、无服务器...
安卓开发,利用SQLite实现登陆注册功能