SQLite-コマンド

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

コマンドプロンプトで簡単な sqlite3 コマンドを入力するところから始めましょう。これにより、さまざまなSQLiteコマンドを発行するSQLiteコマンドプロンプトが表示されます。

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

使用可能なドットコマンドのリストについては、いつでも「.help」と入力できます。 たとえば-

sqlite>.help

上記のコマンドは、次の表にリストされているさまざまな重要なSQLiteドットコマンドのリストを表示します。

Sr.No. Command & Description
1

.backup ?DB? FILE

データベース(デフォルトの「メイン」)をFILEにバックアップします

2 *.bail ON

OFF*

エラーが発生した後に停止します。 デフォルトOFF

3

.databases

接続されているデータベースの名前とファイルを一覧表示する

4

.dump ?TABLE?

データベースをSQLテキスト形式でダンプします。 TABLEが指定されている場合、LIKEパターンTABLEに一致するテーブルのみをダンプします

5
*.echo ON

OFF*

コマンドエコーをオンまたはオフにする

6

.exit

SQLiteプロンプトを終了

7 *.explain ON

OFF*

EXPLAINに適した出力モードをオンまたはオフにします。 引数なしで、EXPLAINをオンにします

8
*.header(s) ON

OFF*

ヘッダーの表示をオンまたはオフにする

9

.help

このメッセージを表示

10

.import FILE TABLE

FILEからTABLEにデータをインポートする

11

.indices ?TABLE?

すべてのインデックスの名前を表示します。 TABLEが指定されている場合、LIKEパターンTABLEに一致するテーブルのインデックスのみを表示します

12

.load FILE ?ENTRY?

拡張ライブラリをロードする

13 *.log FILE

off*

ロギングをオンまたはオフにします。 FILEはstderr/stdoutにすることができます

14

.mode MODE

MODEが次のいずれかである出力モードを設定します-

  • csv -コンマ区切り値
  • column -左揃えの列。
  • html -HTML <table>コード
  • 挿入-TABLEのSQL挿入ステートメント
  • line -行ごとに1つの値
  • list -.separator文字列で区切られた値
  • tabs -タブ区切り値
  • tcl -TCLリスト要素
15

.nullvalue STRING

NULL値の代わりにSTRINGを出力します

16

.output FILENAME

FILENAMEに出力を送信

17

.output stdout

画面に出力を送信する

18

.print STRING…​

文字列STRINGを印刷

19

.prompt MAIN CONTINUE

標準プロンプトを置き換えます

20

.quit

SQLiteプロンプトを終了

21

.read FILENAME

FILENAMEでSQLを実行する

22

.schema ?TABLE?

CREATEステートメントを表示します。 TABLEが指定されている場合、LIKEパターンTABLEに一致するテーブルのみを表示します

23

.separator STRING

出力モードと.importで使用される区切り文字を変更する

24

.show

さまざまな設定の現在の値を表示する

25
*.stats ON

OFF*

統計をオンまたはオフにする

26

.tables ?PATTERN?

LIKEパターンに一致するテーブルの名前をリストする

27

.timeout MS

ロックされたテーブルをMSミリ秒開いてみてください

28

.width NUM NUM

「列」モードの列幅を設定する

29 *.timer ON
*.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
);