db

db は選択したインストール済みドライバーを記憶し、エンジン固有の言語を変換せずに共通の短い操作を転送します。

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

概要

db はインストール済み DB ドライバーのセッション単位の短いミラーです。MySQL/MariaDB、PostgreSQL、Redis、SQLite、MongoDB のいずれかを一度選び、その後は同じ短い接頭辞で確認、出力、バックアップ、ネイティブコマンドを扱えます。

一つの接頭辞、異なるエンジン

db はインストール済みデータベースドライバーへの共通入口であり、それ自体が新しいデータベースエンジンではありません。選択したドライバーを記憶して共通操作を提供し、: より後ろは各データベース本来の言語のまま渡します。SQL、Redis のデータ構造、MongoDB のドキュメントを無理に同じモデルへまとめず、日常操作だけを短くできます。

構文

lil-terminal
db [driver] [options]

リファレンス

db [driver] [options]

Choose a database driver once, then forward compact operations and native queries without switching command names.

用途

db はインストール済みのデータベースドライバーを選び、コマンドを転送します。独立したデータベースではなく、SQL・Redis・MongoDB の言語を相互変換しません。ファイル型は db sqlite、サーバー型は db mysql を選びます。

コマンド一覧

db [driver] [options]

@more

db

選択中のデータベースドライバーとインストール済みドライバーを表示

db <driver>

ドライバーを選択: mysql|postgresql|redis|sqlite|mongodb

-c ...

選択中のドライバーで接続

-use ...

選択中のドライバーでデータベースを選択

-l

選択中のドライバーでデータベースまたは名前空間を一覧表示

-t

選択中のドライバーでテーブル、コレクション、キーを一覧表示

-s <name>

選択中のドライバーで構造を表示

-n <name> [rows]

選択中のドライバーでレコードをプレビュー

-f <name> <text>

選択中のドライバーで検索

-o <name> ...

選択中のドライバーでエクスポート

-a ...

選択したドライバー経由でデータを追加

-w ...

選択したドライバー経由でデータを更新

-d ...

選択したドライバー経由でデータを削除

-m [name]

選択中のドライバーの現在の接続を保存

-M <name>

選択中のドライバーの保存済み接続を削除

-k [name]

選択中のドライバーの保存済み接続を一覧表示または確認

-K <name>

選択中のドライバーの保存済み接続を使って接続

-e

選択中のドライバーを切断

db : <native>

選択中ドライバーのネイティブクエリまたはコマンドを実行

db dump ...

選択中のドライバーでダンプを作成

db load <file>

選択中のドライバーでダンプまたはスクリプトを読み込み

操作手順

db sqlite -c \sandbox\db\shop.sqlite で接続後、db -t はテーブル、db -n products 2 は2行、db -f は検索結果を表示します。db : は選択したエンジンの構文をそのまま実行します。db mariadb は MySQL を選択するだけです。

制限と安全性

選択は PHP セッション内に保存されます。-m は機密情報を含む接続設定を任意で .lil.key に保存し、-k/-K/-M で確認・再接続・削除できます。書き込み前にバックアップし、必要な PHP 拡張があるか確認してください。例は実データに触れません。

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

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

SQLite を選んでテーブルを確認

インストールと管理

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

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

Base パッケージ

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

install db
Minimum パッケージ

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

install db -m
正確な公開版

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

install db -v 1.3.4
確認または更新

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

upgrade db
モジュールを削除

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

install db -u

例

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

SQLite を選んでテーブルを確認
db
No database driver selected
mysql       MySQL / MariaDB · installed
postgresql  PostgreSQL · installed
redis       Redis · installed
sqlite      SQLite · installed
mongodb     MongoDB · installed
ドライバーを選択: mysql|postgresql|redis|sqlite|mongodb
db sqlite
Database driver selected: sqlite
ドライバーを選択: mysql|postgresql|redis|sqlite|mongodb
db mariadb
Database driver selected: mysql
ドライバーを選択: mysql|postgresql|redis|sqlite|mongodb
db oracle
Unknown database driver: oracle
選択中のドライバーで接続
db sqlite -c \sandbox\db\shop.sqlite
Status  connected
File    sandbox/db/shop.sqlite
SQLite  (version depends on the host)
選択中のドライバーでデータベースを選択
db sqlite -use \sandbox\db\shop.sqlite
Status  connected
File    sandbox/db/shop.sqlite
SQLite  (version depends on the host)
選択中のドライバーでテーブル、コレクション、キーを一覧表示
db sqlite -c \sandbox\db\shop.sqlite | db -t
name	type
orders	table
products	table
選択中のドライバーで構造を表示
db sqlite -c \sandbox\db\shop.sqlite | db -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
選択中のドライバーでレコードをプレビュー
db sqlite -c \sandbox\db\shop.sqlite | db -n products 2
id	sku	name	category	price	active
1	SHOE-1	City shoe	shoes	79.9	1
2	SHOE-2	Trail shoe	shoes	109.0	1
選択中のドライバーで検索
db sqlite -c \sandbox\db\shop.sqlite | db -f products "shoe"
id	sku	name	category	price	active
1	SHOE-1	City shoe	shoes	79.9	1
2	SHOE-2	Trail shoe	shoes	109.0	1
選択中のドライバーでデータベースまたは名前空間を一覧表示
db sqlite -c \sandbox\db\shop.sqlite | db -l
seq	name	file
0	main	sandbox/db/shop.sqlite
選択中ドライバーのネイティブクエリまたはコマンドを実行
db sqlite -c \sandbox\db\shop.sqlite | db : SELECT COUNT(*) AS total FROM products
total
4
Time  (varies) ms
選択中のドライバーでエクスポート
db sqlite -c \sandbox\db\shop.sqlite | db -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
  }
]
未対応ドライバーを拒否
db sqlite -c \sandbox\db\shop.sqlite | db -a products : {"sku":"NEW-1","name":"Sample","category":"test","price":5,"active":1}
Inserted  1
ID        5
選択したドライバー経由でデータを更新
db sqlite -c \sandbox\db\shop.sqlite | db -w products sku HAT-1 : {"price":24}
Updated  1
選択したドライバー経由でデータを削除
db sqlite -c \sandbox\db\shop.sqlite | db -d products sku HAT-1
Deleted  1
選択中のドライバーの現在の接続を保存
db sqlite -c \sandbox\db\shop.sqlite | db -m demo
Saved  demo
選択中のドライバーの保存済み接続を一覧表示または確認
db sqlite -k
No saved connections
選択中のドライバーの保存済み接続を使って接続
db sqlite -K absent
Saved connection not found: absent
選択中のドライバーの保存済み接続を削除
db sqlite -M absent
Saved connection not found: absent
選択中のドライバーを切断
db sqlite -c \sandbox\db\shop.sqlite | db -e
+
選択中のドライバーでダンプを作成
db sqlite -c \sandbox\db\shop.sqlite | db dump tmp/sample-db.sql
Saved  sandbox/tmp/sample-db.sql
選択中のドライバーでダンプまたはスクリプトを読み込み
db sqlite -c \sandbox\db\shop.sqlite | db load db/sqlite.sql
SQLite error: table products already exists

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

プロダクション向け調整

db の現在の安定版。db は選択したインストール済みドライバーを記憶し、エンジン固有の言語を変換せずに共通の短い操作を転送します。