sqlite
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
sqlite [2022/02/12 01:15] – 作成 nullpon | sqlite [2022/07/31 11:32] (現在) – nullpon | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== | + | < |
+ | # SQLite | ||
``` | ``` | ||
行 8: | 行 9: | ||
- | ===== コマンド | + | ## コマンド |
CUIツールで . で始まる命令がコマンドとなる | CUIツールで . で始まる命令がコマンドとなる | ||
- | ==== 終了 | + | ### 終了 |
``` | ``` | ||
行 21: | 行 22: | ||
exitは終了コードを返せる | exitは終了コードを返せる | ||
- | ==== 設定の確認と変更 | + | ### 設定の確認と変更 |
``` | ``` | ||
行 27: | 行 28: | ||
``` | ``` | ||
- | セパレータをタブ区切りに変更 | + | select時のカラムの区切りをタブに変更(デフォルトは `|`) |
``` | ``` | ||
行 39: | 行 40: | ||
``` | ``` | ||
- | ==== スキーマ | + | ### テーブル一覧 |
+ | |||
+ | ``` | ||
+ | .tables | ||
+ | ``` | ||
+ | |||
+ | ### スキーマ確認 | ||
``` | ``` | ||
行 45: | 行 52: | ||
``` | ``` | ||
- | ==== バックアップ作成 | + | ### バックアップ作成 |
``` | ``` | ||
行 52: | 行 59: | ||
+ | ## tips | ||
+ | |||
+ | ### 改行コードについて | ||
+ | |||
+ | `\n` は改行コードとして扱われない。`\n` が入ってしまった場合は以下のSQLで修正 | ||
+ | |||
+ | ```sql | ||
+ | update < | ||
+ | ``` | ||
+ | |||
+ | ## エラー対応 | ||
+ | |||
+ | ### エラーログに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.1644628525.txt.gz · 最終更新: 2022/02/12 01:15 by nullpon