sqlite

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

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

概要

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

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

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

構文

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

リファレンス

sqlite [options] · sqlite : <sql>

Inspect and manage a local SQLite database file, execute SQL, and export or back up tables.

用途

sqlite は別サーバーを使わずデータベースファイルを直接扱います。PHP SQLite3 拡張と適切なファイル権限が必要です。

コマンド一覧

sqlite [options] · sqlite : <sql>

@more

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 -c db/shop.sqlite で既存のファイルを開き、-f で新規作成を許可します。-t/-s/-n/-f で表、列、行、検索結果を確認します。-o は JSON/CSV を出力し、sqlite : は SQL、dump/load は SQL スクリプトを処理します。

制限と安全性

-f がなければ存在しないファイルは作成しません。シンボリックリンクも拒否します。書き込みや load の前にファイルをコピーしてください。-m はパスを任意で .lil.key に保存し、-k/-K/-M で管理します。表の出力上限は10万行です。

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

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

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

インストールと管理

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

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

Base パッケージ

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

install sqlite
Minimum パッケージ

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

install sqlite -m
正確な公開版

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

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

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

upgrade sqlite
モジュールを削除

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

install sqlite -u

例

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

SQLite ファイルを開いてデータを確認
sqlite -c db/shop.sqlite
Status  connected
File    sandbox/db/shop.sqlite
SQLite  (version depends on the host)
現在の SQLite データベースファイルを表示
sqlite
Status  connected
File    sandbox/db/shop.sqlite
SQLite  (version depends on the host)
SQLite データベースを開く;存在しない場合は -f で作成
sqlite -c db/new-shop.sqlite -f
Status  connected
File    sandbox/db/new-shop.sqlite
SQLite  (version depends on the host)
SQLite データベースを開く;存在しない場合は -f で作成
sqlite -c db/shop.sqlite -m shop-demo
Status  connected
File    sandbox/db/shop.sqlite
SQLite  (version depends on the host)
Saved   shop-demo
別の既存 SQLite データベースを開く
sqlite -use db/shop.sqlite
Status  connected
File    sandbox/db/shop.sqlite
アタッチ済みデータベースファイルを表示
sqlite -l
seq	name	file
0	main	sandbox/db/shop.sqlite
テーブルとビューを一覧表示
sqlite -t
name	type
orders	table
products	table
列とデータ型を表示
sqlite -s products
cid	name	type	notnull	dflt_value	pk
0	id	INTEGER	0	NULL	1
1	sku	TEXT	1	NULL	0
2	name	TEXT	1	NULL	0
3	category	TEXT	1	NULL	0
4	price	REAL	1	NULL	0
5	active	INTEGER	1	1	0
テーブル行をプレビュー
sqlite -n products 3
id	sku	name	category	price	active
1	SHOE-1	City shoe	shoes	79.9	1
2	SHOE-2	Trail shoe	shoes	109.0	1
3	BAG-1	Canvas bag	bags	44.5	1
テーブルの各列からテキストを検索
sqlite -f products "shoe" 3
id	sku	name	category	price	active
1	SHOE-1	City shoe	shoes	79.9	1
2	SHOE-2	Trail shoe	shoes	109.0	1
テーブル行をエクスポート
sqlite -o products -j
[
  {
    "id": 1,
    "sku": "SHOE-1",
    "name": "City shoe",
    "category": "shoes",
    "price": 79.9,
    "active": 1
  },
  {
    "id": 2,
    "sku": "SHOE-2",
    "name": "Trail shoe",
    "category": "shoes",
    "price": 109.0,
    "active": 1
  },
  {
    "id": 3,
    "sku": "BAG-1",
    "name": "Canvas bag",
    "category": "bags",
    "price": 44.5,
    "active": 1
  },
  {
    "id": 4,
    "sku": "HAT-1",
    "name": "Summer hat",
    "category": "accessories",
    "price": 25.0,
    "active": 0
  }
]
テーブル行をエクスポート
sqlite -o products -csv tmp/products.csv
Saved  sandbox/tmp/products.csv
存在しないデータベースファイルを扱う
sqlite -o products -csv tmp/products.csv -f
Saved  sandbox/tmp/products.csv
JSON オブジェクトから1行追加
sqlite -a products : {"sku":"NEW-1","name":"Sample","category":"test","price":5,"active":1}
Inserted  1
ID        5
一致する行を JSON オブジェクトで更新
sqlite -w products sku HAT-1 : {"price":24}
Updated  1
一致する行を削除
sqlite -d products sku HAT-1
Deleted  1
ネイティブ SQL を実行
sqlite : SELECT category, COUNT(*) AS total FROM products GROUP BY category
category	total
accessories	1
bags	1
shoes	2
Time  (varies) ms
スキーマとデータのダンプを作成
sqlite dump tmp/shop-backup.sql
Saved  sandbox/tmp/shop-backup.sql
ファイルの SQL を実行
sqlite load db/sqlite.sql
SQLite error: table products already exists
現在のデータベースを .lil.key に保存。既定名はファイル名
sqlite -m shop-demo
Saved  shop-demo
保存済みデータベースを一覧表示、または1件確認
sqlite -k
No saved connections
保存済みデータベースを開く
sqlite -K missing
Saved connection not found: missing
保存済みデータベースを削除
sqlite -M missing
Saved connection not found: missing
選択中のデータベースファイルを閉じる
sqlite -e
+
SQLite データベースを開く;存在しない場合は -f で作成
sqlite -c db/missing.sqlite
Database file not found
別の既存 SQLite データベースを開く
sqlite -c db/shop.sqlite -use db/missing.sqlite
Database file not found
列とデータ型を表示
sqlite -s missing_table
Table not found: missing_table

この例で使うファイル: 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.52026-11-01

プロダクション向け調整

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