# sqlite3 -help Usage: sqlite3 [OPTIONS] FILENAME [SQL] FILENAME is the name of an SQLite database. A new database is created if the file does not previously exist. OPTIONS include: -help show this message -init filename read/process named file -echo print commands before execution -[no]header turn headers on or off -bail stop after hitting an error -interactive force interactive I/O -batch force batch I/O -column set output mode to 'column' -csv set output mode to 'csv' -html set output mode to HTML -line set output mode to 'line' -list set output mode to 'list' -separator 'x' set output field separator (|) -stats print memory stats before each finalize -nullvalue 'text' set text string for NULL values -version show SQLite version裡面很多選項都跟上一篇寫的 sqlite3 命令有相對應。這邊講一下怎樣在 command line 寫成 script....
# sqlite3 /data/data/com.android.providers.settings/databases/settings.db "select * from system;"
上面的 sql 語法本來也可以在 sqlite3 命令提示下操作,寫在命令列則可以自動化。
# echo "select * from system;" | sqlite3 /data/data/com.android.providers.settings/databases/settings.db
用常見的 stdin 轉向也有同樣的功效,那麼,我們也可以寫在檔案中,再用 cat YourSQL.sql | sqlite3 YOUR_DATABASE 的方式
要特別跟大家講的是,有個 -init 選項,這個是進 sqlite3 的初始化, 也就是說....
1. 把你要的 sql 存檔,譬如把 select * from system; 存在 s.sql 中,然後用
2. sqlite3 -init s.sql /data/data/com.android.providers.settings/databases/settings.db 來執行的話,最後會停在 sqlite3 的命令提示符號下,所以與下面這方式是不同的...
3. cat s.sql | sqlite3 /data/data/com.android.providers.settings/databases/settings.db
0 意見:
張貼留言