ローカル参照と公開済みの全モードを含む完全パッケージをインストールします。
install dbdb: より後ろは各データベース本来の言語のまま渡します。SQL、Redis のデータ構造、MongoDB のドキュメントを無理に同じモデルへまとめず、日常操作だけを短くできます。
db [driver] [options]db [driver] [options]Choose a database driver once, then forward compact operations and native queries without switching command names.
@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>選択中のドライバーでダンプまたはスクリプトを読み込み
選択は PHP セッション内に保存されます。-m は機密情報を含む接続設定を任意で .lil.key に保存し、-k/-K/-M で確認・再接続・削除できます。書き込み前にバックアップし、必要な PHP 拡張があるか確認してください。例は実データに触れません。
用意された例をページ上でそのまま実行できます。結果は事前に生成されてブラウザに表示され、サーバーではターミナルコマンドを実行しません。
現在の互換バージョンをインストールします。全機能は Base、縮小版は Minimum を選び、すでに導入済みのモジュール更新には upgrade を使います。
Base と Minimum は同じ現在のモジュールリリースの二つのパッケージです。
ローカル参照と公開済みの全モードを含む完全パッケージをインストールします。
install db縮小パッケージをインストールします。ローカルリファレンスは含まれず、
install db -mこの公開済みバージョンを正確に指定してインストールします。
install db -v 1.3.4upgrade が互換性を確認し、必要な場合だけブロックを置換します。
upgrade dbコアや他のモジュールに触れず拡張ブロックを削除します。
install db -u例はコピーできますが、サイトは実行しません。実プロジェクトではパス、権限、破壊的オプションを確認してください。
dbNo database driver selected
mysql MySQL / MariaDB · installed
postgresql PostgreSQL · installed
redis Redis · installed
sqlite SQLite · installed
mongodb MongoDB · installeddb sqliteDatabase driver selected: sqlitedb mariadbDatabase driver selected: mysqldb oracleUnknown database driver: oracledb sqlite -c \sandbox\db\shop.sqliteStatus connected
File sandbox/db/shop.sqlite
SQLite (version depends on the host)db sqlite -use \sandbox\db\shop.sqliteStatus connected
File sandbox/db/shop.sqlite
SQLite (version depends on the host)db sqlite -c \sandbox\db\shop.sqlite | db -tname type
orders table
products tabledb sqlite -c \sandbox\db\shop.sqlite | db -s productscid 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 0db sqlite -c \sandbox\db\shop.sqlite | db -n products 2id sku name category price active
1 SHOE-1 City shoe shoes 79.9 1
2 SHOE-2 Trail shoe shoes 109.0 1db 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 1db sqlite -c \sandbox\db\shop.sqlite | db -lseq name file
0 main sandbox/db/shop.sqlitedb sqlite -c \sandbox\db\shop.sqlite | db : SELECT COUNT(*) AS total FROM productstotal
4
Time (varies) msdb 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 5db sqlite -c \sandbox\db\shop.sqlite | db -w products sku HAT-1 : {"price":24}Updated 1db sqlite -c \sandbox\db\shop.sqlite | db -d products sku HAT-1Deleted 1db sqlite -c \sandbox\db\shop.sqlite | db -m demoSaved demodb sqlite -kNo saved connectionsdb sqlite -K absentSaved connection not found: absentdb sqlite -M absentSaved connection not found: absentdb sqlite -c \sandbox\db\shop.sqlite | db -e+db sqlite -c \sandbox\db\shop.sqlite | db dump tmp/sample-db.sqlSaved sandbox/tmp/sample-db.sqldb sqlite -c \sandbox\db\shop.sqlite | db load db/sqlite.sqlSQLite error: table products already existssandbox/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);