### TableHelper `TableHelper`是对数据库操作进行的封装。 以下示例根据此表接口进行操作 ```sql CREATE TABLE `test` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `nick` varchar(20) NOT NULL COMMENT '昵称', `gender` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '性别:1:男,2:女', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='测试表'; ``` ###### 查询 * getAll\($where, $keyword\) 返回多条查询记录,二维数组 * getRow\($where, $keyword\) 返回一条查询记录,一维数组 * getCount\($where, $keyword\) 返回符合查询条件的记录数量 * getOne\($where, $keyword\) 返回符合条件一行的第一列记录 * getCol\($where, $keyword\) 返回列记录 `$where`是确切值查询条件,比如主键 ```php $where = [ 'id' => 1, ]; // or $where = [ 'nick' => 'solu', 'gender' => 1, ]; getRow($where); ``` 复杂查询可以组合`$keyword`配置查询 ```php $where = [ ]; $keyword = [ '_field' => 'id,nick', // 指定查询字段 '_where' => "nick like 'so%'", // 复杂where条件 '_limit' => '0,5', // 查询数量 '_sortKey' => 'id DESC', // 排序 '_groupby' => 'id', // 分组操作 '_debug' => true, // 打印sql语句,会结束程序运行 ]; getAll($where, $keyword); ``` ###### 插入 * addObject\($data\) 插入一条数据 * addObjects\($cols, $datas\) 插入多条数据,需要指定字段$cols * addObjects2\($datas\) 插入多条记录,读取第一条记录字段名 * addObjectNx\($data, $where\) 如果不存在才进行插入操作 * replaceObject\($data\) replace into 插入数据 ```php $data = [ 'nick' => 'solu', 'gender' => 1, ]; addObject($data); $cols = ['nick', 'gender']; $datas = [ [ 'nick' => 'solu', 'gender' => 1, ], [ 'nick' => 'some' 'gender' => 1, ], ]; addObjects($cols, $datas); // or addObjects2($datas); ``` ###### 删除 * delObject\($where\) 删除记录 ```php $where = ['id' => 1]; delObject($where); ``` ###### 更新 * updateObject\($data, $where\) 更新操作 ```php $where = ['id' => 1]; $data = ['nick' => 'foobar']; updateObject($data, $where); ``` ###### Redis2Mysql `Redis2Mysql`是对`TableHelper`进行缓存封装,使用方法上基本保持一致。