介绍
JsonDb
是一款由原生 PHP
实现的非关系型轻量级 JSON
文件数据库。如果你需要存储各种基础类的数据,或者一个站点内有多个小项目,那么 JsonDb
就是你最佳的选择。它包括查询、新增、更新、删除等对数据的基本操作,适合存储数据量不大的数据
使用帮助文档:https://yepydvmpxo.k.topthink.com/@json-db/
软件架构
由纯原生 PHP
实现的 JSON
文件数据库,将数据存储为 JSON
格式,不占用 MySql
资源纯以读写文件的形式查询数据库,用法类似于 ThinkPHP
的查询。
安装教程
composer require jsondb/jsondb:dev-master
使用说明
use JsonDb\JsonDb\Db;
// composer自动加载
require 'vendor/autoload.php';
// 默认关闭数据压缩、加密并开启调试模式,可使用自定义配置
// 自定义配置项 具体配置请参考文档:https://yepydvmpxo.k.topthink.com/@json-db/
$json_path = $_SERVER['DOCUMENT_ROOT'] . 'content' . DIRECTORY_SEPARATOR . 'JsonDb';
Db::setConfig([
'path' => $json_path, // 数据存储路径(必须配置)
'file_suffix' => '.json', // 文件后缀名
'debug' => true, // 调试模式
'encode' => null, // 数据加密函数
'decode' => null, // 数据解密函数
]);
// 添加单条数据
Db::name('table_name')->insert([
'a' => 5,
'b' => "测试5"
]);
// 添加多条数据
Db::name('table_name')->insertAll([
[
'a' => 5,
'b' => "测试5"
],
[
'c' => 1,
'b' => "测试"
]
]);
// 删除一行中的部分数据
Db::name('table_name')->where('b', '测试3')->delete(['a', 'b']);
// 删除一行数据
Db::name('table_name')->where('b', '测试3')->deleteAll();
// 更新数据
Db::name('table_name')->where('b', '测试4')->update(['c' => '测试测试']);
// 根据ID查询数据
Db::name('table_name')->where('id', 0)->find();
// 查询单条数据
Db::name('table_name')->where('b', '测试')->find();
// 查询多条数据
Db::name('table_name')->where('b', '测试4')->select();
// 查询所有数据
Db::name('table_name')->selectAll();
// 自定义查询表达式
Db::name('table_name')->where('id', '>', 4)->select();
// 链式where
Db::name('table_name')->where('id', 1)->where('a', 2)->select();
// 自定义判断条件
$select = Db::name('table_name')->where('`field_id` == 0 || `field_b` == `测试4`')->select();
// 字段LIKE查询
Db::name('table_name')->whereLike('b', '%测试')->select();
// 限制结果数量
Db::name('user')->where('status', 1)->limit(10)->select();
// 限制每次最大写入数量
Db::name('user')->limit(100)->insertAll($userList);