我在ubuntu主机上有一个sqlite3数据库。我想启动一个bash脚本来操作一些包含的数据。
基本上,我已经找到了sql语句。我想用这个查询的结果(即结果集)处理多个命令。查询跨越多个表以获取我需要的完整数据。对于每个返回的行,我想将某些字段写入文本文件(供以后使用),一旦完成,我就想更新一行。此更新适用于1个表中的1个字段。
目前,我只有以下产生所有行所需的输出文件:
sqlite3 database.db
.output xbmc_music_lastplayed_toitunes.txt
SELECT s.strTitle, art.strArtist, a.strAlbum, s.iTimesPlayed, s.lastplayed
FROM song as s, album as a, artist as art
WHERE s.idAlbum = a.idAlbum
AND s.idArtist = art.idArtist
AND s.iTimesPlayed > 0
我希望能够从1个结果集中完成两个操作,如果可能的话。希望有人能提供前进的方法。我习惯于处理数据库的程序化处理,即使用PHP,但在这种情况下,它本身就是对sqlite3引擎本身进行的。
非常感谢提前
答案 0 :(得分:1)
您可以将所有sql语句(或dot
命令)放在query.sql
中。
$ cat query.sql | sqllite3 database.db
或
$ sqlite3 database.db
sqlite> .read query.sql
我更喜欢第一种选择。因为没有互动。