bash 操作 sqlite3

时间:2021-05-19 08:50:45

首先,这是个奇怪的需求。。。但是遇到了。我参考后文链接里的方法,做了自己的。

表是自己手动建的,数据库名字叫 new.db:

create table test (sn varchar(), name varchar());

那么,就开始在 shell 下工作了。首先是组装我们的 query:

query="insert into test values(\"1\",\"luo\");"

然后,指定数据库:

sqlitedb="sqlite3 new.db"

接着,把准备好的 query 送给数据库:

$sqlitedb <<EOF
$query
.quit
EOF

其实,这里只是把数据库打开,然后把两个 EOF 之间的几行文字送给 sqlite3 的标准输入。这里的 .quit 好像可要可不要,先留着。

取数据类似,我使用下面这句做了尝试:

result=$($sqlitedb <<EOF
$query
.quit
EOF
)

执行完这一句,打印 result:

echo $result
|luo |zhou

很明显,这样是可行的。

http://blog.csdn.net/wangbole/article/details/8062529