ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 什么是拼接SQL 就是框架的通过简单传参的方式,将传递过来的参数组合成完整的SQL语句进行执行操作,然后将最终的结果返回到模型层。这也是现在大多数的系统底层所具备的快速编程方式,而本框架则以【轻快】为宗旨,尽量的做到精简化,只保留了【增删改查】四个最基本、最常用的拼接。以下则通过讲解来解析这四种的组合方式。 ## 首先是 —— 增 **代码格式** ~~~ self::upData([table], [data]); ~~~ **参数描述** | 参数名 | 参数描述 | 参数类型 | | --- | --- | --- | | table | 被操作的数据表名 | 字符串 | | data | 被 UPDATA 的数据 | 字符串、数组 | **实例** 1、单一添加 ~~~ $data = ['username'=>'abc','password'=>'123']; return self::upData($this->_table, $data); ~~~ 2、批量添加 ~~~ $data = [ ['username'=>'abc','password'=>'123'], ['username'=>'def','password'=>'456'] ]; return self::upData('user', $data); ~~~ ## 其次是 —— 删 **代码格式** ~~~ self::delete([table], [where]) ~~~ **参数描述** | 参数名 | 参数描述 | 参数类型 | | --- | --- | --- | | table | 被操作的数据表名 | 字符串 | | where | 删除数据的条件 | 字符串、数组 | **实例** ~~~ self::delete('user', ['id'=>5]); ~~~ ## 然后是 —— 改 **代码格式** ~~~ self::upData([table], [data], [where]); ~~~ **参数描述** | 参数名 | 参数描述 | 参数类型 | | --- | --- | --- | | table | 被操作的数据表名 | 字符串 | | data | 被 UPDATA 的数据 | 字符串、数组 | | where | 修改数据的条件 | 字符串、数组 | **实例** ~~~ $data = ['username'=>'abc','password'=>'789']; self::upData('user', $data, ['id'=>5]); ~~~ ## 最后是 —— 查 ### 1、统计个数查询 **代码格式** ~~~ self::total([table], [where], [field]); ~~~ **参数描述** | 参数名 | 参数描述 | 参数类型 | | --- | --- | --- | | table | 被操作的数据表名 | 字符串 | | where | 要查询数据的条件 | 字符串、数组 | | field | 要查询的字段 | 字符串、数组 | **实例** ~~~ $data = self::total($this->_table); ~~~ ### 1、单一查询 **代码格式** ~~~ self::alone([table], [where], [field]); ~~~ **参数描述** | 参数名 | 参数描述 | 参数类型 | | --- | --- | --- | | table | 被操作的数据表名 | 字符串 | | where | 要查询数据的条件 | 字符串、数组 | | field | 要查询的字段 | 字符串、数组 | **实例** ~~~ $data = self::alone('user', ['id'=>6]); ~~~ ### 3、列查询 **代码格式** ~~~ self::select([table], [where], [field], [order], [limit]) ~~~ **参数描述** | 参数名 | 参数描述 | 参数类型 | | --- | --- | --- | | table | 被操作的数据表名 | 字符串 | | where | 要查询数据的条件 | 字符串、数组 | | field | 要查询的字段 | 字符串、数组 | | order | 按某个字段进行升序或降序的排列,如(id DESC 或者 id ASC) | 字符串 | | limit | 返回行数(及起始行),如(10 或者 10, 10) | 字符串 | **实例** ~~~ $data = self::select('user', null, "*", "id DESC"); ~~~ ### 4、按组查询 这个查询则需要在执行 self::select 之间,先 **代码格式** ~~~ self::groupBy([group_by]); ~~~ **参数描述** | 参数名 | 参数描述 | 参数类型 | | --- | --- | --- | | group_by | 要求按分组查询的字段 | 字符串 | **实例** ~~~ self::groupBy('sex'); ~~~