ユーザ用ツール

サイト用ツール


sqlite

SQLite

$ sqlite3 hoge.sqlite

hoge.sqliteファイルがなければ作成される

コマンド

CUIツールで . で始まる命令がコマンドとなる

終了

.quit
.exit [EXIT_CODE]

exitは終了コードを返せる

設定の確認と変更

.show

select時のカラムの区切りをタブに変更(デフォルトは |

.separator \t

select時にカラム名を表示する

.headers on

テーブル一覧

.tables

スキーマ確認

.schema TABLE_NAME

バックアップ作成

.backup [DB_NAME] FILE_NAME

tips

改行コードについて

\n は改行コードとして扱われない。\n が入ってしまった場合は以下のSQLで修正

UPDATE <table_name> SET <column_name> = REPLACE(<column_name>, '\n', CHAR(10)) WHERE <condition>

エラー対応

エラーログにdatabase disk image is malformedと出た

コマンドラインでSQLiteに入り、以下を実行

sqlite> pragma integrity_check;
Page 538 is never used
row 125 missing from index hoge;

missing from indexに対してはreindexする

sqlite> reindex;

page never usedに対してはvacuumする

sqlite> vacuum;

再度integrity_checkしてokと出たら修復完了

sqlite> pragma integrity_check;
ok
sqlite.txt · 最終更新: 2022/07/31 11:32 by nullpon