コンテンツにスキップ
manual/ ja

COMMAND REFERENCE / 日本語訳

sqlite3(1)

Apple / macos 26.6.2SECTION 1
版情報
バリエーション
25g83
原文形式
roff
原文 SHA-256
d6c2da94222035f9cf16a72a91e204e0b325067ee1d68a149c86f7b8859cb8ef
翻訳
LLM による日本語訳

sqlite3 - SQLite バージョン 3 のコマンドラインインタフェース

sqlite3 [options] [databasefile] [SQL]

sqlite3 は、問い合わせを対話的に評価し、結果を複数の形式で表示できる、SQLite ライブラリの端末ベースのフロントエンドです。sqlite3 は、シェルスクリプトやほかのアプリケーション内でバッチ処理機能を提供するためにも使えます。

sqlite3 の対話セッションを始めるには、sqlite3 コマンドを起動し、必要に応じてデータベースファイルの名前を指定します。データベースファイルが存在しない場合は作成されます。データベースファイルが存在する場合は開かれます。

たとえば、"mydata.db" という新しいデータベースファイルを作成し、"memos" という表を作成して、その表にいくつかのレコードを挿入するには、次のようにします。

$ sqlite3 mydata.db
SQLite version 3.43.2 2023-10-10 13:08:14
使用法のヒントは ".help" を入力してください。
sqlite> CREATE TABLE memos(text, priority INTEGER);
sqlite> INSERT INTO memos VALUES('deliver project description', 10);
sqlite> INSERT INTO memos VALUES('lunch with Christine', 100);
sqlite> SELECT * FROM memos;
deliver project description|10
lunch with Christine|100
sqlite>

データベース名を指定しない場合は、ATTACH sql コマンドを使って、既存のデータベースファイルに接続したり、新しいデータベースファイルを作成したりできます。ATTACH は、同じ対話セッション内で複数のデータベースに接続するためにも使えます。これは、途中でスキーマを変更しながら、データベース間でデータを移行する場合に便利です。

必要に応じて、1 つの引数として SQL 文、または一連の SQL 文を指定できます。複数の文はセミコロンで区切ってください。

例:

$ sqlite3 -line mydata.db 'SELECT * FROM memos WHERE priority > 20;'
text = lunch with Christine
priority = 100

対話型インタプリタは、出力形式の制御、現在接続されているデータベースファイルの調査、または接続されたデータベースに対する管理操作(インデックスの再構築など)に使える一連のメタコマンドを提供します。メタコマンドには、常にドット(.)の接頭辞が付きます。

利用可能なメタコマンドの一覧は、いつでも '.help' コマンドを発行することで表示できます。たとえば:

sqlite> .help

利用可能なコマンドは版とビルドオプションによって異なるため、ここでは列挙しません。利用可能なすべてのオプションについては、手元のコピーを参照してください。

sqlite3 には次のオプションがあります。

-A ARGS...

.archive ARGS を実行して終了する

-append

データベースをファイルの末尾に追記する。

-ascii

出力モードを 'ascii' に設定する。

-bail

エラーに遭遇したら停止する。

-batch

バッチ I/O を強制する。

-box

出力モードを 'box' に設定する。

-column

問い合わせ結果を表のような形式で表示し、空白文字で列を区切って出力を整列します。

-cmdcommand

標準入力を読む前に command を実行する

-csv

出力モードを CSV(カンマ区切り値)に設定する。

-deserialize

sqlite3_deserialize() を使ってデータベースを開く

-echo

実行前にコマンドを表示する。

-initfile

file からコマンドを読み取って実行する。SQL 文とメタコマンドを混在させられる。

-[no]header

ヘッダーをオンまたはオフにする。

-help

オプションのヘルプを表示して終了する。

-hexkey key

十六進の暗号化鍵でデータベースを開く。

-html

問い合わせ結果を単純な HTML 表として出力する。

-interactive

対話 I/O を強制する。

-key key

生の暗号化鍵 key でデータベースを開く

-json

出力モードを 'json' に設定する。

-line

問い合わせ結果を 1 行に 1 値で表示し、行は空行で区切ります。スクリプトやほかのプログラムで解析しやすいように設計されています

-list

問い合わせ結果を、各フィールド値の間に区切り文字(既定では |)を置いて表示します。既定です。

-lookasidesize n

lookaside メモリに、size バイトの項目を n 個使う

-markdown

出力モードを 'markdown' に設定する。

-maxsize N

-deserialize データベースのサイズを N バイトに制限する

-memtrace

すべてのメモリ割り当てを追跡する。

-newlinesep

出力の行区切りを設定する。既定は '\n'。

-nofollow

シンボリックリンクを含むパスを開くことを拒否する。

-nonce string

セーフモード脱出用の nonce を string に設定する

-nullvaluestring

NULL 値を表す文字列を設定する。既定は ''(空文字列)。

-quote

出力モードを quote に設定する。

-readonly

データベースを読み取り専用で開く。

-safe

セーフモードを有効にする。

-separatorseparator

出力のフィールド区切りを設定する。既定は '|'。

-stats

各 finalize の前にメモリ統計を表示する。

-textkey PASSPHRASE

暗号化鍵へハッシュするテキスト。

-table

出力モードを 'table' に設定する。

-tabs

出力モードを 'tabs' に設定する。

-version

SQLite の版を表示する。

-vfsname

既定の VFS として name を使う。

-zip

ファイルを zip アーカイブとして開く。

sqlite3 は、対話環境の設定を行うために初期化ファイルを読みます。初期化の過程では、それ以前に指定された設定は上書きできます。初期化の順序は次のとおりです。

o 既定の設定は次のように確立されます。

mode            = LIST
separator       = "|"
main prompt     = "sqlite> "
continue prompt = "   ...> "

o ファイル ${XDG_CONFIG_HOME}/sqlite3/sqliterc または ~/.sqliterc が存在する場合、見つかったほうのうち最初のものが起動時に処理されます。通常はメタコマンドだけを含めるべきです。

o -init オプションがある場合、指定されたファイルが処理されます。

o その他のコマンドラインオプションはすべて処理されます。

https://sqlite.org/cli.html
https://sqlite.org/fiddle(CLI アプリの WebAssembly ビルド)
sqlite3-doc パッケージ。

このマニュアルページは、もともと Andreas Rottmann <rotty@debian.org> が Debian GNU/Linux システム向けに書きました(ほかでも使って構いません)。その後、Bill Bumgarner <bbum@mac.com>、Laszlo Boszormenyi <gcs@debian.hu>、Scott Perry <sqlite@numist.net>、および sqlite3 開発者によって改訂されました。