查詢數據
```
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();
```