Sqlite-commands
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が次のいずれかである出力モードを設定します-
|
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
);