SQLite コマンド

この章では、SQLite プログラマーが使用する、シンプルでありながら便利なコマンドについて説明します。これらのコマンドは SQLite のドットコマンドと呼ばれ、これらのコマンドの違いはセミコロンで終わらない;ことです。

コマンドプロンプトで簡単なsqlite3コマンドを入力してみましょう。

$ sqlite3
SQLite version 3.3.6
Enter ".help" for instructions
sqlite>

コマンド。SQLite コマンドプロンプトでは、さまざまな SQLite コマンドを使用できます。

sqlite>.help

上記のコマンドは、さまざまな重要な SQLite ドットコマンドのリストを表示します。次に示すとおりです。

コマンド説明
.backup ?DB? FILEDB データベース(デフォルトは "main")を FILE ファイルにバックアップします。
.bail ON|OFFエラーが発生したら停止します。デフォルトは OFF です。
.databasesデータベースの名前と、それに添付されているファイルを一覧表示します。
.dump ?TABLE?データベースを SQL テキスト形式でダンプします。TABLE テーブルが指定されている場合は、LIKE パターンに一致する TABLE テーブルのみをダンプします。
.echo ON|OFFecho コマンドを有効または無効にします。
.exitSQLite プロンプトを終了します。
.explain ON|OFFEXPLAIN に適した出力モードを有効または無効にします。引数がない場合は EXPLAIN on、つまり EXPLAIN を有効にします。
.header(s) ON|OFFヘッダー表示を有効または無効にします。
.helpメッセージを表示します。
.import FILE TABLEFILE ファイルから TABLE テーブルにデータをインポートします。
.indices ?TABLE?すべてのインデックスの名前を表示します。TABLE テーブルが指定されている場合は、LIKE パターンに一致する TABLE テーブルのインデックスのみを表示します。
.load FILE ?ENTRY?拡張ライブラリをロードします。
.log FILE|offログを有効または無効にします。FILE ファイルは stderr(標準エラー)/stdout(標準出力)にすることができます。
.mode MODE出力モードを設定します。MODE は次のいずれかです:
  • csvカンマ区切りの値

  • column左揃えの列

  • htmlHTML の <table> コード

  • insertTABLE テーブルの SQL 挿入(insert)ステートメント

  • line各行に1つの値

  • list.separator 文字列で区切られた値

  • tabsタブで区切られた値

  • tclTCL リスト要素

.nullvalue STRINGNULL 値の場所に STRING 文字列を出力します。
.output FILENAME出力を FILENAME ファイルに送信します。
.output stdout出力を画面に送信します。
.print STRING...STRING 文字列をそのまま出力します。
.prompt MAIN CONTINUE標準プロンプトを置き換えます。
.quitSQLite プロンプトを終了します。
.read FILENAMEFILENAME ファイル内の SQL を実行します。
.schema ?TABLE?CREATE ステートメントを表示します。TABLE テーブルが指定されている場合は、LIKE パターンに一致する TABLE テーブルのみを表示します。
.separator STRING出力モードと .import が使用する区切り文字を変更します。
.showさまざまな設定の現在値を表示します。
.stats ON|OFF統計を有効または無効にします。
.tables ?PATTERN?LIKE パターンに一致するテーブルの名前を一覧表示します。
.timeout MSロックされたテーブルを MS ミリ秒間オープンしてみます。
.width NUM NUM"column" モードの列幅を設定します。
.timer ON|OFF CPU タイマーを有効または無効にします。

試しに使用してみましょう.showコマンドで、SQLite コマンドプロンプトのデフォルト設定を確認してみましょう。

sqlite>.show
     echo: off
  explain: off
  headers: off
     mode: column
nullvalue: ""
   output: stdout
separator: "|"
    width:
sqlite>
sqlite> プロンプトとドットコマンドの間にスペースがないようにしてください。そうしないと正しく動作しません。

出力のフォーマット

次のドットコマンドを使用して、出力をこのチュートリアルの下にリストされている形式にフォーマットできます:

sqlite>.header on
sqlite>.mode column
sqlite>.timer on
sqlite>

上記の設定により、次の形式の出力が生成されます:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0
CPU Time: user 0.000000 sys 0.000000

sqlite_master テーブル

マスターテーブルにはデータベーステーブルの重要な情報が保存されており、それをsqlite_masterと命名します。テーブルの概要を確認するには、次のように操作します:

sqlite>.schema sqlite_master

これにより、次の結果が得られます:

CREATE TABLE sqlite_master (
  type text,
  name text,
  tbl_name text,
  rootpage integer,
  sql text
);
その他の拡張