安装包含本地参考和全部已发布模式的完整包。
install dbdb把
: 后面的内容仍使用数据库自身的语言。这样可以缩短日常操作,又不会把 SQL、Redis 数据结构和 MongoDB 文档混成同一种模型。
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>通过已选择的驱动载入转储或脚本
运行
驱动选择保存在当前 PHP 会话中。-m 可主动把敏感连接资料写入 .lil.key;-k/-K/-M 用于查看、重连和删除。修改数据前请备份,确认 PHP 扩展可用。示例不会访问访客数据库。
可直接在页面中运行预先准备的示例。结果已预先生成并在浏览器中显示;服务器不会执行任何终端命令。
安装当前兼容版本。完整功能请选择 Base,精简包请选择 Minimum;已安装模块的更新请使用 upgrade。
Base 与 Minimum 是同一当前模块版本的两个包。
安装包含本地参考和全部已发布模式的完整包。
install db安装精简包。该包不包含本地参考;
install db -m安装这个确切的已发布版本。
install db -v 1.3.4让 upgrade 检查兼容性,仅在需要时替换已安装块。
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);