[英]Running a Sqlite3 Script from Command Line
我正在编写一个 shell 脚本来 scp 一个项目,其中一部分涉及传输我数据库中的一些重要表。
我在文件SQLTableTransfer
存储了以下内容:
.o MyTable1.sql;
.dump MyTable1;
.o MyTable2.sql;
.dump MyTable2;
.o MyTable3.sql;
.dump MyTable3;
并抓住机会
$ sqlite3 SQLTableTransfer
但这只是打开了Sqlite3 shell。 从命令行运行这样的脚本的正确方法是什么?
你给sqlite3
程序的参数是数据库文件名。
要从文件执行命令,您必须将输入重定向到该文件:
$ sqlite3 mydatabase.db < SQLTableTransfer
或告诉它从该文件中读取:
$ sqlite3 mydatabase.db ".read SQLTableTransfer"
您可以获得空间表的列表,如下所示:
echo "SELECT f_table_name FROM geometry_columns;" | spatialite -noheader -silent your_db.sqlite
对于那些只想将其转储到他们的.bashrc
的懒惰者:
### Execute an sqlite3 file on a given db
sql3-exec () {
# TODO: write a --help flag that doubles as error handling
# TODO: Ensure that $1 is a db; Else display --help
# TODO: Ensure that $2 is a .sql file; Else display --help
# TODO: Probably store a backup (or at least a flag)...
sqlite3 $1 ".read $2"
true
}
对于 Windows CLI,假设您的数据库已加载:
sqlite> .read C:\\somesubdir\\some.sql
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.