sqlite

sqlite はデータベースファイルを直接開き、スキーマと行の確認、データ変更、表のエクスポート、ネイティブ SQL、SQL ダンプを扱います。

データベースバージョン 1.1.4安定版
lil-terminal

概要

sqlite は DB ファイルを直接扱います。ファイルを開き、テーブルと列を確認し、行を表示・変更し、エクスポート、ネイティブ SQL、SQL バックアップまで別サーバーなしで実行できます。

ファイルの中にあるデータベース

SQLite は通常のファイルに保存され、利用するプロセスへ直接組み込まれるリレーショナル SQL データベースです。別の database server やネットワーク login が不要なので、学習、ローカルツール、多くの小~中規模アプリに適しています。ただし transaction、index、constraint、ファイル権限、同時書き込みの規則は依然として重要です。

構文

lil-terminal
sqlite [options] · sqlite : <sql>

リファレンス

sqlite

現在の SQLite データベースファイルを表示

sqlite -c <file> [-f] [-m [name]]

SQLite データベースを開く;存在しない場合は -f で作成

-use <file>

別の既存 SQLite データベースを開く

-l

アタッチ済みデータベースファイルを表示

-t

テーブルとビューを一覧表示

-s <table>

列とデータ型を表示

-n <table> [rows]

テーブル行をプレビュー

-f <table> <text> [rows]

テーブルの各列からテキストを検索

-o <table> [-j|-csv] [file] [-f]

テーブル行をエクスポート

-a <table> : <json>

JSON オブジェクトから1行追加

-w <table> <field> <value> : <json>

一致する行を JSON オブジェクトで更新

-d <table> <field> <value>

一致する行を削除

-m [name]

現在のデータベースを .lil.key に保存。既定名はファイル名

-M <name>

保存済みデータベースを削除

-k [name]

保存済みデータベースを一覧表示、または1件確認

-K <name>

保存済みデータベースを開く

-e

選択中のデータベースファイルを閉じる

sqlite : <sql>

ネイティブ SQL を実行

sqlite load <file.sql>

ファイルの SQL を実行

sqlite dump [file.sql] [-f]

スキーマとデータのダンプを作成

使い方

sqlite [options] · sqlite : <sql>

操作モデル

よく使う形式はローカルリファレンスにまとまっています。短縮操作は確認と小規模な変更を担当し、高度な操作では各データベースのネイティブ構文をそのまま使えます。

バックアップと復元

dump/load の形式はドライバーごとに異なります。エンジンの全機能を含む完全なバックアップが必要な場合は、サーバー側のネイティブツールを使ってください。

安全性

パスワードは非表示入力で受け取り、コマンド履歴には保存しません。可能な限り権限を限定したアカウントを利用してください。

100000 行を超えるテーブルは、不完全なファイルを書き出す代わりにエクスポートを拒否します。SQL ダンプはスキーマとデータの完全なバックアップ経路です。

保存済み接続

-m を使わない限り、接続データは現在の PHP セッションだけに保持されます。-m [name] はプロファイルを保護された .lil.key(0600)へ明示的に保存し、-K <name> はそれを使って再接続、-k は保存済みパスワードを表示せずに一覧または詳細を確認し、-M <name> は1件削除します。kill は他のコア状態とともに .lil.key を削除します。任意保存したプロファイルにはデータベース認証情報が含まれる場合があるため、このファイルは機密として扱ってください。

インタラクティブな sandbox プレビュー

用意された例をページ上でそのまま実行できます。結果は事前に生成されてブラウザに表示され、サーバーではターミナルコマンドを実行しません。

SQLite ファイルを開いてデータを確認

インストールと管理

現在の互換バージョンをインストールします。全機能は Base、縮小版は Minimum を選び、すでに導入済みのモジュール更新には upgrade を使います。

Base と Minimum は同じ現在のモジュールリリースの二つのパッケージです。

Base パッケージ

ローカル参照と公開済みの全モードを含む完全パッケージをインストールします。

install sqlite
Minimum パッケージ

縮小パッケージをインストールします。ローカルリファレンスは含まれず、help <cmd> -i で現在のサーバーリファレンスを開きます。

install sqlite -m
正確な公開版

この公開済みバージョンを正確に指定してインストールします。

install sqlite -v 1.1.4
確認または更新

upgrade が互換性を確認し、必要な場合だけブロックを置換します。

upgrade sqlite
モジュールを削除

コアや他のモジュールに触れず拡張ブロックを削除します。

install sqlite -u

例はコピーできますが、サイトは実行しません。実プロジェクトではパス、権限、破壊的オプションを確認してください。

SQLite ファイルを開いてデータを確認
cd \sandbox\db | sqlite -c shop.sqlite | sqlite -t | sqlite -n products 5
mysql.sql
postgresql.sql
redis.txt
shop.sqlite
sqlite.sql

Status  connected
File    sandbox/db/shop.sqlite
SQLite  3.x

products
orders

id	sku	name	category	price	active
1	SHOE-1	City shoe	shoes	79.9	1
2	SHOE-2	Trail shoe	shoes	109	1
3	BAG-1	Canvas bag	bags	44.5	1
Sqlite · shop.sqlite
shop.sqlite
Status  connected
File    sandbox/db/shop.sqlite
SQLite  3.x
Sqlite · products
sqlite -s products
Column    Type     Not null  Key
id        INTEGER  no        PRIMARY
sku       TEXT     yes       UNIQUE
name      TEXT     yes
category  TEXT     yes
price     REAL     yes
active    INTEGER  yes
Sqlite · products
sqlite -f products "shoe" 20
id	sku	name	category	price
1	SHOE-1	City shoe	shoes	79.9
2	SHOE-2	Trail shoe	shoes	109
Sqlite · products
sqlite -o products -csv products.csv
Saved  products.csv
Sqlite · products
sqlite -a products : {"sku":"BAG-1","name":"Travel bag","price":49.90}
Inserted  1
ID        5
Sqlite · products
sqlite -w products sku BAG-1 : {"price":44.90}
Updated  1
Sqlite · products
sqlite -d products sku BAG-1
Deleted  1
Sqlite · select
sqlite : SELECT category,COUNT(*) FROM products GROUP BY category
category	COUNT(*)
accessories	1
bags	1
shoes	2
Sqlite · dump
sqlite dump shop-backup.sql
Saved  shop-backup.sql
Sqlite · load
sqlite load \sandbox\db\sqlite.sql
+
Sqlite · -e
sqlite -e
+
存在しないデータベースファイルを扱う
sqlite -c missing.sqlite
データベースファイルが見つかりません

この例で使うファイル: sandbox/db/sqlite.sql

例では、保護されたドキュメント用 /sandbox/ ワークスペースのファイルまたはディレクトリを使います。

CREATE TABLE products (
  id INTEGER PRIMARY KEY,
  sku TEXT UNIQUE NOT NULL,
  name TEXT NOT NULL,
  category TEXT NOT NULL,
  price REAL NOT NULL,
  active INTEGER NOT NULL DEFAULT 1
);
INSERT INTO products (sku,name,category,price,active) VALUES
('SHOE-1','City shoe','shoes',79.90,1),
('SHOE-2','Trail shoe','shoes',109.00,1),
('BAG-1','Canvas bag','bags',44.50,1);

関連ドキュメント

現在の公開版

v1.1.42026-08-08

保存済み SQLite データベース

名前付き SQLite パスを .lil.key に保存し、確認・再オープン・削除を明示的に行えます。