我正在为scp项目编写一个shell脚本,其中一部分涉及在我的数据库中传输一些重要的表。
我在文件SQLTableTransfer
中存储了以下内容:
.o MyTable1.sql;
.dump MyTable1;
.o MyTable2.sql;
.dump MyTable2;
.o MyTable3.sql;
.dump MyTable3;
并抓住机会
$ sqlite3 SQLTableTransfer
但这只是打开了Sqlite3 shell。从命令行运行这样的脚本的正确方法是什么?
答案 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