查询数据
```
1. Db::name('user')->where('id',1)->find();
2. Db::name('user')->where('status',1)->select();
```
添加数据
```
1. Db::name('user')->insert($data);
```
添加数据后如果需要返回新增数据的自增主键,可以使用`getLastInsID`方法:
```
1. Db::name('user')->insert($data);
2. $userId = Db::name('user')->getLastInsID();
```
添加多条数据直接向 Db 类的 insertAll 方法传入需要添加的数据即可
```
1. $data = \[
2. \['foo' => 'bar', 'bar' => 'foo'\],
3. \['foo' => 'bar1', 'bar' => 'foo1'\],
4. \['foo' => 'bar2', 'bar' => 'foo2'\]
5. \];
6. Db::name('user')->insertAll($data);
```
助手函数
```
1. // 添加单条数据
2. db('user')->insert($data);
3. // 添加多条数据
4. db('user')->insertAll($list);
```
更新数据
```
1. // 更新数据表中的数据
2. db('user')->where('id',1)->update(\['name' => 'thinkphp'\]);
3. // 更新某个字段的值
4. db('user')->where('id',1)->setField('name','thinkphp');
5. // 自增 score 字段
6. db('user')->where('id', 1)->setInc('score');
7. // 自减 score 字段
8. db('user')->where('id', 1)->setDec('score');
```
删除数据
```
1. // 根据主键删除
2. db('user')->delete(1);
3. // 条件删除
4. db('user')->where('id',1)->delete();
```
查询方法
```
1. // 获取`think\_user`表所有信息
2. Db::getTableInfo('think\_user');
3. // 获取`think\_user`表所有字段
4. Db::getTableInfo('think\_user', 'fields');
5. // 获取`think\_user`表所有字段的类型
6. Db::getTableInfo('think\_user', 'type');
7. // 获取`think\_user`表的主键
8. Db::getTableInfo('think\_user', 'pk');
```
查询表达式支持大部分的SQL查询语法
```
1. where('字段名','表达式','查询条件');
2. whereOr('字段名','表达式','查询条件');
```
表达式不分大小写,支持的查询表达式有下面几种,分别表示的含义是:
表达式含义
```
EQ、= 等于(=)
NEQ、<> 不等于(<>)
GT、> 大于(>)
EGT、>= 大于等于(>=)
LT、< 小于(<)
ELT、<= 小于等于(<=)
LIKE 模糊查询
[NOT] BETWEEN (不在)区间查询
[NOT] IN (不在)IN 查询
[NOT] NULL 查询字段是否(不)是NULL
[NOT] EXISTS EXISTS查询
EXP 表达式查询,支持SQL语法
> time 时间比较
< time 时间比较
between time 时间比较
notbetween time 时间比较
```
高级查询
```
1. $query->name('user') ->where('name','like','%think%') ->where('id','>',10) ->limit(10);
```
可以结合前面提到的所有方式进行混合查询,例如:
```
1. Db::table('think\_user')
2. \->where('name',\['like','thinkphp%'\],\['like','%thinkphp'\])
3. \->where(function($query){
4. $query->where('id',\['',100\],'or');
5. })
6. \->select();
```