作者:chuntianhuaji | 来源:互联网 | 2023-02-11 19:06
我看到很多示例显示如何使用sqlite3交互式shell,例如:
$ sqlite3
$ sqlite3> SELECT * from x;
但我正在寻找一种方法在SQLite3数据库中使用bash脚本创建一个表,也就是说,非交互式 - 任何人都知道如何做到这一点?
例如,下面的不确实似乎工作,但它仍然互动:
#!/bin/bash
sqlite3 test.db "create table n (id INTEGER PRIMARY KEY,f TEXT,l TEXT);"
sqlite3 test.db "insert into n (f,l) values ('john','smith');"
sqlite3 test.db "select * from n";
还有一个问题 - 通过调用"sqlite3"作为后台进程来"唤醒SQLite3"是否有帮助 - 或者它几乎总是在MacOS和Linux的后台运行?
1> 小智..:
虽然上面应该有效,但我认为最好不要多次调用sqlite3,因此我认为以下是优选的:
#!/bin/sh
sqlite3 test.db <
请注意,除非您确实需要使用bash,否则出于便携性原因,您应该更喜欢"/ bin/sh"作为shebang.
2> 小智..:
看起来就像它一样简单
#!/bin/bash
sqlite3 test.db "create table n (id INTEGER PRIMARY KEY,f TEXT,l TEXT);"
sqlite3 test.db "insert into n (f,l) values ('john','smith');"
sqlite3 test.db "select * from n";
来自https://mailliststock.wordpress.com/2007/03/01/sqlite-examples-with-bash-perl-and-python/