bash 操作 sqlite3

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

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

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

那么,就开始在 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
1|luo 2|zhou

很明显,这样是可行的。

 

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

posted @ 2016-02-27 17:27  Biiigfish  阅读(1432)  评论(0编辑  收藏  举报