JsonDB-PHP轻量级文件数据库

编程开发   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2022-8-19

JsonDb 是一个由原生PHP实现的文件数据库,JsonDB只有一个文件,如果你不想使用庞大的数据库系统,或者一个站点内有多个小项目,那么JsonDB就是你最佳的选择。 JsonDB包括查询、添加、更新、删除等对数据的基本操作,适合存储数据量不大的数据

使用帮助文档:

本帖含有隐藏内容,请您 回复 后查看
' target='_blank'>
本帖含有隐藏内容,请您 回复 后查看
[/reply]

软件架构
由纯原生PHP实现的Json文件数据库,将数据存储为Json格式,不占用MySql资源纯以读写文件的形式查询数据库,写法类似于ThinkPHP的查询。

安装教程

```php
include('./JsonDB.class.php');
$DB = new JsonDb();
```

使用说明

include('./JsonDB.class.php');

// 自定义配置项 具体配置请参考文档:
本帖含有隐藏内容,请您 回复 后查看
' target='_blank'>
本帖含有隐藏内容,请您 回复 后查看
[/reply]

$optisons = [
'data_type' => false, //关闭数据压缩 方便调试
];
$DB = new JsonDb($optisons);

// 添加单条数据
$DB->table('json_data')->insert([
'a' => 5,
'b' => "测试5"
]);

// 添加多条数据
$DB->table('json_data')->insertAll([
[
'a' => 5,
'b' => "测试5"
],
[
'c' => 1,
'b' => "测试"
]
]);

// 删除一行中的部分数据
$DB->table('json_data')->where('b', '测试3')->delete(['a', 'b']);

// 删除一行数据
$DB->table('json_data')->where('b', '测试3')->deleteAll();

// 更新数据
$DB->table('json_data')->where('b', '测试4')->update(['c' => '测试测试']);

// 根据ID查询数据
$DB->table('json_data')->where('id', 0)->find();

// 查询单条数据
$DB->table('json_data')->where('b', '测试')->find();

// 查询多条数据
$DB->table('json_data')->where('b', '测试4')->select();

// 查询所有数据
$DB->table('json_data')->selectAll();

// 自定义查询表达式
$DB->table('json_data')->where('id', '>', 4)->select();

// 链式where
$DB->table('json_data')->where('id', 1)->where('a', 2)->select();

// 自定义判断条件
$select = $DB->table('json_data')->where('`field_id` == 0 || `field_b` == `测试4`')->select();

// 字段LIKE查询
$DB->table('json_data')->whereLike('b', '%测试')->select();

// 限制结果数量
$DB->table('user')->where('status', 1)->limit(10)->select();

// 限制每次最大写入数量
$DB->table('user')->limit(100)->insertAll($userList);
?>

31楼
昵称582506 2022-8-26
感觉好像有点缺陷
什么缺陷说来交流交流
33楼
Fcch 2022-8-27
这样写是没有前途滴[滑稽]
34楼
Fcch 2022-8-27
给你一个思路[滑稽]
SQL语句 -> 词法分析 -> 语法分析 -> AST语法树 -> 可执行结构体 -> 操作json
35楼
Fcch 2022-8-27
需要的话可以交流一下,我用go开发了一门语言,所以对这方面比较了解[滑稽]
对语法树没有多少了解[勉强]
37楼
Fcch 2022-8-27
这样写其实不如直接
$a = array();
操作 $a
json_encode $a
保存 到文件[滑稽]
唉 我只会用这样的方式了[委屈]
39楼
GD稀饭 2022-8-27
不是有MongoDB用吗
40楼
凌鸿然 2022-8-27
我是不是来你这留过言?

评论

登录后才可发表内容
  • 主题

    863

  • 帖子

    39585

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0582s Mem:2135Kb