2011-12-14 19 views
0

我有一個Ubuntu主機上的sqlite3數據庫。我想開始一個bash腳本來操作一些包含的數據。使用sqlite3結果集做多件事

基本上,我已經明白了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引擎本身。

提前

回答

1

非常感謝你可以把你所有的SQL語句(或dot命令)在query.sql

$ cat query.sql | sqllite3 database.db 

$ sqlite3 database.db 
sqlite> .read query.sql 

我更喜歡第一個選項。因爲沒有互動。