db

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

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

概要

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

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

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

構文

lil-terminal
db [driver] [options]

リファレンス

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 [driver] [options]

操作モデル

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

バックアップと復元

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

安全性

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

共通ミラーは、限定的な追加・更新・削除のための -a-w-d も選択中のドライバーへ渡します。正確な引数は各ドライバー固有です。

保存済み接続

-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 db
Minimum パッケージ

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

install db -m
正確な公開版

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

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

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

upgrade db
モジュールを削除

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

install db -u

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

SQLite を選んでテーブルを確認
db sqlite | db -c \sandbox\db\shop.sqlite | db -t | db -n products 5
Driver      sqlite
Status      selected

Status      connected
File        sandbox/db/shop.sqlite

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
Db · 02
db
Driver      sqlite
SQLite      installed · selected
MySQL       installed
PostgreSQL  not installed
Redis       not installed
MongoDB     not installed
Db · mysql
db mysql
Driver  mysql
Status  selected
Engine  MySQL / MariaDB
Db · mariadb
db mariadb
Driver  mysql
Status  selected
Engine  MySQL / MariaDB
Db · products
db -s products
Field     Type       Null  Key
id        INTEGER    no    PRIMARY
sku       TEXT       no    UNIQUE
name      TEXT       no
category  TEXT       no
price     REAL       no
active    INTEGER    no
Db · products
db -f products "shoe"
id	sku	name	category	price
1	SHOE-1	City shoe	shoes	79.9
2	SHOE-2	Trail shoe	shoes	109
Db · products
db -o products -j products.json
Saved  products.json
Db · products
db -a products : {"sku":"TMP-1","name":"Temporary","price":1}
Inserted  1
ID        5
Db · products
db -w products sku TMP-1 : {"price":2}
Updated  1
Db · products
db -d products sku TMP-1
Deleted  1
Db · select
db : SELECT COUNT(*) AS products FROM products
products
4
Db · dump
db dump backup.sql
Saved  backup.sql
Db · -e
db -e
+
未対応ドライバーを拒否
db oracle
不明なデータベースドライバー: oracle

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

コンパクトなデータベースファサード

共通オプションをまとめ、接続メモリを転送し、ドライバー状態をコンパクトな列で表示します。