トップ «前の日記(2017/03/26) 最新 次の日記(2017/03/28)» 編集

kaztomo日記


2017/03/27 [長年日記]

_ [sqlite3]手元にあるdbファイルを調べてみる

条件:

  • サーバに対して TeraTermPro でログインする。表示漢字コードは euc-jp。
  • dbファイルは sqlite3 で作成されたものを使用する。漢字コードは utf-8で作成されている。

目的:この条件で出来上がっているファイルの中身を見てみたい。

  • シェルから、dbファイルへ接続
% sqlite3 <dbファイル名>
  • どんなテーブルが有るのか。テーブル一覧を確認
sqlite> .tables
  • テーブルの定義を確認しておく
sqlite> .schema <テーブル名>
  • 文字列の部分一致で検索させてみる。たくさんあると大変なので、マッチしても10件だけに限定する。
sqlite> SELECT * FROM <テーブル名> WHERE <キー名> like "%部分一致文字列%" LIMIT 10;

sqlite3 の保存コードと、ターミナルの表示コードが異なるので、sqlite3側で何とかできないかと 思ってググってみたけど、どうやら出来ないみたい。

仕方がないので、sqlite3 のコマンドラインから操作して内容を確認するのではなく、 シェルから sqlite3 を起動する際に SQL文を指定して内容を表示させ、 その出力をパイプに食わせて文字コード変換することにした。

% sqlite3 <dbファイル名> 'SQL文' | less など