从命令行运行Sqlite3脚本

时间:2014-02-13 15:41:03

标签: sql bash sqlite shell

我正在为scp项目编写一个shell脚本,其中一部分涉及在我的数据库中传输一些重要的表。

我在文件SQLTableTransfer中存储了以下内容:

.o MyTable1.sql;
.dump MyTable1;

.o MyTable2.sql;
.dump MyTable2;

.o MyTable3.sql;
.dump MyTable3;

并抓住机会

$ sqlite3 SQLTableTransfer

但这只是打开了Sqlite3 shell。从命令行运行这样的脚本的正确方法是什么?

4 个答案:

答案 0 :(得分:29)

您为sqlite3程序提供的参数是数据库文件名。

要从文件执行命令,必须将输入重定向到该文件:

$ sqlite3 mydatabase.db < SQLTableTransfer

或告诉它从该文件中读取:

$ sqlite3 mydatabase.db ".read SQLTableTransfer"

答案 1 :(得分:1)

您可以按如下方式获取空间表的列表:

echo "SELECT f_table_name FROM geometry_columns;" | spatialite -noheader -silent your_db.sqlite

答案 2 :(得分:0)

对于只想将其转储到他们的 acc = logreg. score (X_tst, y_tst) print (acc) 中的懒惰者:

.bashrc

答案 3 :(得分:0)

对于Windows CLI,假设已加载数据库:

sqlite> .read C:\\somesubdir\\some.sql