SQLite は、パブリックドメインの軽量な関係データベース管理システム (RDBMS) です。他の多くの RDBMS がクライアント・サーバシステムで使用されるデータベースエンジンであるのに対し、SQLite はそうはなく、アプリケーションに組み込んで利用されます。Wikipedia の英語サイトの SQLite にある Notable users を見ると、意外と多くのアプリケーション、システムで SQLite が利用されていることに驚かされます。
そんな SQLite を扱う必要が出てきました。Java か Python から SQLite のデータベースへアクセスすることを想定していますが、なにかとデータベースの中身を確認したりする必要が出てくると考えられますので、SQLite というデータベースの特徴がどんなものかをまとめる前に、まずは SQLite に付属している、スタンドアロンのコマンドライン・プログラム sqlite3
で利用できるコマンドを確認しました。
動作環境は次の通りです。
- OS: Fedora 24 (x86_64)
- SQLite: sqlite-3.13.0-1.fc24.x86_64
端末エミュレータを起動して sqlite3
と入力して SQLite のコマンドライン・プログラムを実行します。.help
を入力すれば用法(のヒント)が表示されるとあるので、その通りにやってみました。
$ sqlite3 SQLite version 3.13.0 2016-05-18 10:57:30 Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database. sqlite> .help .auth ON|OFF Show authorizer callbacks .backup ?DB? FILE Backup DB (default "main") to FILE .bail on|off Stop after hitting an error. Default OFF .binary on|off Turn binary output on or off. Default OFF .changes on|off Show number of rows changed by SQL .clone NEWDB Clone data into NEWDB from the existing database .databases List names and files of attached databases .dbinfo ?DB? Show status information about the database ... ...
コマンドの一覧がズラッと出てきますが、このままではなんだか使いづらいので、翻訳も兼ねて以下にまとめてみました。ただし、機能がよく判らなかったり確認できないものは無理して翻訳をせずにそのままにしてあります。ただし、後になって確認ができたものは、翻訳を加える可能性がありますので予めご了承ください。
sqlite3 のコマンド
Command | Description | |
---|---|---|
.auth ON|OFF | Show authorizer callbacks | |
.backup ?DB? FILE | データベース DB(デフォルトは "main")を FILE へバックアップ。 | |
.bail on|off | Stop after hitting an error. Default OFF | |
.binary on|off | Turn binary output on or off. Default OFF | |
.changes on|off | Show number of rows changed by SQL | |
.clone NEWDB | Clone data into NEWDB from the existing database | |
.databases | アタッチしているデータベースのテーブル名とファイル名を表示。 | |
.dbinfo ?DB? | データベースの現在の情報を表示。 | |
.dump ?TABLE? ... | SQL 形式のテキストフォーマットでデータベースをダンプ。TABLE が指定されていれば、TABLE にマッチングするテーブルのみ。 | |
.echo on|off | コマンドエコーを ON あるいは OFF へ切り替え。 | |
.eqp on|off|full | Enable or disable automatic EXPLAIN QUERY PLAN | |
.exit | 本プログラムを終了。 | |
.explain ?on|off|auto? | Turn EXPLAIN output mode on or off or to automatic | |
.fullschema ?--indent? | テーブルのスキーマと sqlite stat table の内容を表示。--indent を追加することで表示を整形。 | |
.headers on|off | ヘッダー表示の有無を切り替え。 | |
.help | ヘルプを表示。 | |
.import FILE TABLE | ファイル FILE のデータをテーブル TABLE にインポート。 | |
.indexes ?TABLE? | インデックスの一覧を表示。TABLE が指定されていれば、TABLE にマッチングするテーブルのインデックスのみ。 | |
.limit ?LIMIT? ?VAL? | Display or change the value of an SQLITE_LIMIT | |
.load FILE ?ENTRY? | Load an extension library | |
.log FILE|off | Turn logging on or off. FILE can be stderr/stdout | |
.mode MODE ?TABLE? | 出力モードを以下のいずれかの MODE に設定。TABLE が指定されていれば、TABLE にマッチングするテーブルのみ。 | |
ascii | Columns/rows delimited by 0x1F and 0x1E | |
csv | Comma-separated values | |
column | Left-aligned columns. (See .width) | |
html | HTML <table> code | |
insert | SQL insert statements for TABLE | |
line | One value per line | |
list | Values delimited by .separator strings | |
tabs | Tab-separated values | |
tcl | TCL list elements | |
.nullvalue STRING | NULL の代わりに STRING を使う。 | |
.once FILENAME | Output for the next SQL command only to FILENAME | |
.open ?FILENAME? | 現在のデータベースを閉じて FILENAME を開く。FILENAME の指定が無い場合は、現在のデータベースを閉じるのみ。 | |
.output ?FILENAME? | 出力先を FILENAME あるいは標準出力 stdout に設定。 | |
.print STRING... | 文字リテラル STRING... を出力。 | |
.prompt MAIN CONTINUE | 標準のプロンプトを MAIN CONTINUE へ変更。 | |
.quit | 本プログラムを終了。.exit と同じ。 | |
.read FILENAME | FILENAME の SQL を実行。 | |
.restore ?DB? FILE | バックアップした FILE から DB(デフォルトは "main")へデータベースの内容をレストア(復元)。 | |
.save FILE | Write in-memory database into FILE | |
.scanstats on|off | Turn sqlite3_stmt_scanstatus() metrics on or off | |
.schema ?PATTERN? | テーブルのスキーマ(CREATE 文)を表示。PATTERN が指定されていればマッチングした内容のみ。--indent を追加することで表示を整形。 | |
.separator COL ?ROW? | 出力モードと .import コマンドにおいて、カラムの区切り文字を COL に、オプションで行(レコード)の区切り文字を ROW へ変更 | |
.shell CMD ARGS... | システムシェルのコマンド CMD ARGS... を実行。 | |
.show | 様々な設定の現在の値を表示。 | |
.stats ?on|off? | Show stats or turn stats on or off | |
.system CMD ARGS... | システムシェルのコマンド CMD ARGS... を実行。.shell コマンドと同じ。 | |
.tables ?TABLE? | テーブル名の一覧を表示。TABLE が指定されていれば、TABLE にマッチングするテーブルのみ。 | |
.timeout MS | Try opening locked tables for MS milliseconds | |
.timer on|off | Turn SQL timer on or off | |
.trace FILE|off | Output each SQL statement as it is run | |
.vfsinfo ?AUX? | Information about the top-level VFS | |
.vfslist | List all available VFSes | |
.vfsname ?AUX? | Print the name of the VFS stack | |
.width NUM1 NUM2 ... | データを表示する時のカラム毎の幅を設定。負数の場合は右寄せ。 |
参考サイト
にほんブログ村
0 件のコメント:
コメントを投稿