English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQLite コマンド

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

以下から始めましょう。sqlite3コマンドプロンプトでシンプルなコマンドを入力して始め、それがSQLiteコマンドプロンプトを提供し、さまざまなSQLiteコマンドを発行する

$sqlite3
SQLiteバージョン 3.3.6
「.help」を入力して指示
sqlite>

利用可能なポイントコマンドのリストについては、いつでも「.help」を入力できます。例えば-

sqlite>.help

上記のコマンドは、さまざまな重要なSQLiteポイントコマンドのリストを表示します。以下のテーブルにはこれらのコマンドが示されています。

番号コマンドと説明
1

.backup ?DB? FILE

データベースをFILEにバックアップ(デフォルトは「main」)

2

.bail ON|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>コード

  • insert − TABLEのSQLインサート文

  • line −各行に一つの値

  • 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

ロックされたテーブルを開く試み、ミリ秒単位で

28

.width NUM NUM

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

29

.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           ポール        32          カリフォルニア  20000.0
2           アレン       25          テキサス       15000.0
3           テディ       23          ノルウェイ      20000.0
4           マーク        25          リッチ-モンド   65000.0
5           デイビッド       27          テキサス       85000.0
6           キム         22          サウス-ホール  45000.0
7           ジェームズ       24          ヒューストン     10000.0
CPU Time: user 0.000000 sys 0.000000

sqlite_master テーブル

主テーブルはデータベーステーブルに関する重要情報を保存しており、そのテーブルはsqlite_master。以下のようにアーキテクチャが表示されます:

sqlite>.schema sqlite_master

これは以下の結果を生成します。

CREATE TABLE sqlite_master (
   type テキスト,
   name テキスト,
   tbl_name テキスト,
   rootpage 整数,
   sql テキスト);