# db **Repository Path**: chuan_fu/db ## Basic Information - **Project Name**: db - **Description**: 一个JSON数据库 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-01-02 - **Last Updated**: 2026-01-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ```html _| _|_|_| _|_| _| _| _|_|_| _| _| _| _| _| _|_| _|_| _| _|_| _| _| _| _|_| _| _| _| _| _|_| _|_|_| _|_|_| _|_| _| _|_|_|_ 一个本地部署的极简JSON数据库,JsSQL支持简单的CRUD,支持简单的链式调用。支持多表操作。支持事务回滚。 支持全量数据库日志,慢日志,错误日志。 ``` #### 软件架构 PHP JSON #### 安装教程 按PHP的require引用就能直接使用。 #### 使用说明 ```php main.php版: //定义数据库名称 $_head=dbname($_head,"hello"); //创建数据库表名,所有字段名,主键名称,主键只能定义在字段列表第一个 $_head=create_table( $_head, "table2", ["id","name","age"], "id" ); //新增一条数据,新增多条数据演示 $_head=add( $_head, "table2", ["xiaowang",14] ); $_head=add( $_head, "table2", ["xiaoli",14] ); $_head=add( $_head, "table2", ["xiaoli",14] ); //更新数据,只能更新单个字段的值 $_head=update( $_head, "table2", ["id",1], ["name","xiaoming"] ); //查询符合条件的数据,返回一条或多条数据。 $_head=select( $_head, "table2", ["name","xiaoli"] ); //删除符合条件的一个或多条数据。 $_head=delete( $_head, "table2", ["id",1] ); //自增键初始 $_head=autokey( $_head, "table2", ); //******************************** //提交 //******************************** commit("data.json",$_head); //******************************** class_main.php版本: $__f__=file_get_contents("data.json"); $__f__=json_decode($__f__,1); $db=new db("hello",$__f__); $db->create_table( $db->_head, "table2", ["id","name","age"], "id" ); $db->add( $db->_head, "table2", ["xiaowang",14] )->commit("data.json"); $db->add( $db->_head, "table2", ["xiaowangli",14] )->commit("data.json"); $db->update( $db->_head, "table2", ["id",1], ["name","xiaoming"] )->commit("data.json"); $db->delete( $db->_head, "table2", ["id",1] )->commit("data.json"); $res=$db->select( $db->_head, "table2", ["name","xiaoming"] ); $db->autokey( $db->_head, "table2", )->commit("data.json"); ``` data.json为存储数据的文件 数据结构: ```php //1 [ "dbname"=>"", "data"=>[ "table1"=>[ "field"=>[ "id", "name" ], "keyn"=>"id", "autokey"=>2, "db"=>[ ] ] ] ] ``` ```json //2 { "dbname": "hello", "data": { "table2": { "field": [ "id", "name", "age" ], "keyn": "id", "autokey": 2, "db": [ { "id": 1, "name": "xiaowang", "age": 14 } ], "COUNT": 1 } } } ``` 所有表信息查询方法 ```json // $db->table_list() { "dbname": "hello", "tables": [{ "tabname": "table2", "field": ["id", "name", "age"], "COUNT": 6, "autokey": ["id", 7] }, { "tabname": "table3", "field": ["id", "name", "age"], "COUNT": 1, "autokey": ["id", 2] }] } ``` ```php //启动事务方式1: //事务启动 $db->startTrans(); $db->add( $db->_head, "table2", ["xiaowang",14] )->commit(); $db->add( $db->_head, "table2", ["xiaowang",14] )->commit(); //事务回滚 $db->rollback(); //启动事务方式2: //事务启动 $db->startTrans(); $db->add( $db->_head, "table2", ["xiaowang",14] ); $db->add( $db->_head, "table2", ["xiaowang",14] ); //提交 $db->commit(); //事务回滚 $db->rollback(); ```