一、鏈接數據庫
1.配置文件定義 application\database.php
注意:數據表前綴更改,在文件的prefix選項

2.類定義

二、數據庫的基本使用
namespace app\demo\controller; use think\Db; class Ceshi{ public function sql(){ //1.使用系統Db類 $data = Db::table('ceshi')->select(); //2.使用sql語句 $data = Db::query('select * from ceshi'); dump($data); } }
三、數據查詢
1.table方式
查所有 Db::table('ceshi')->select();
查一條 Db::table('ceshi')->find();
2.name方式
查所有 Db::name('ceshi')->select();
查一條 Db::name('ceshi')->find();
區別:name方式會在表名前自動加設置的前綴
3.助手函數
db('ceshi')->select();
db('ceshi')->find();
注意:助手函數同樣會加前綴
四、條件查詢
注意:條件的順序可以隨意,如6
1.范圍查詢
$data = db('ceshi') ->where('id','>','1') ->where('id','<','3') ->select(); dump($data);
2.多條件查詢(並且 where)
$data = db('ceshi') ->where('id','>','1') ->where('pin','=','lisi') ->select(); dump($data);
3.多條件查詢(或者 whereOr)
$data = db('ceshi') ->where('id','=','1') ->whereOr('id','=','3') ->select(); dump($data);
4.模糊查詢
$data = db('ceshi') ->where('id','>','1') ->where('pin','like','li%') ->select(); dump($data);
5.limit截取查詢
$data = db('ceshi') ->where('id','>','0') //跳過幾條取幾條,一個參數為顯示幾條 ->limit(1,2) ->select(); dump($data);
6.order排序
$data = db('ceshi') ->where('id','>','0') //跳過幾條取幾條,一個參數為顯示幾條 ->limit(1,2) ->order('id','desc') ->select(); dump($data);
7.field查詢字段
$data = db('ceshi') ->where('id','>','0') //查詢的字段名 ->field(['id','pin']) // //或者,第二種寫法 // ->field("id,pin") ->select(); dump($data);
8.更改字段名
$data = db('ceshi') ->where('id','>','0') //將顯示的字段名id更改為uid ->field(['id'=>'uid','pin']) // //或者,第二種寫法 // ->field("id uid,pin") ->select(); dump($data);
9.系統函數
$data = db('ceshi') ->where('id','>','0') //將顯示的字段名id更改為uid ->field(['count(*)'=>'num','pin']) // //或者,第二種寫法 // ->field("count(*) as num,pin") ->select();
10.排除字段
$data = db('ceshi') ->where('id','>','0') //不顯示name字段 ->field(['name'],true) // //或者,第二種寫法 // ->field("name",true) ->select();
11.分頁查詢
$data = db('ceshi') ->where('id','>','0') //顯示,第幾頁的,幾條 ->page("2,2") ->select();
12.group 分組查詢
$data = db('ceshi') ->where('id','>','0') ->group('id') ->select();
13.having 過濾查詢
->having("id > 2")
14.多表聯查
$data = db('ceshi') //查找的字段 ->field('ceshi.*,ceshi2.name') //連表2,on后面的條件,第三參數可不寫,left和right為左連接,右連接 ->join('ceshi2','ceshi1.pin = ceshi2.pin','left') ->select();
15.表名起別名 (表名后 空格 別名)
16.參數綁定
$data = db('ceshi') //占位 ->where('id',':id') //參數綁定 ->bind(["id"=>"1"]) ->select();
17.數據統計
->sum('字段名')
可選sum max min avg count等
五、數據增加
$sql = [ ['id'=>'5','pin'=>'zhaoliu','name'=>'趙六'], ['id'=>'6','pin'=>'zhaoliu','name'=>'趙六'] ] $data = db('ceshi') ->insertAll($sql);
若插入一條,則$sql 寫一維數組, insertAll改為insert
注意:插入數據的字段名必須和數據庫一致
六、數據更新
$data = db('ceshi') //等號可不寫 ->where('id',4) //更改的數據 ->update(['name'=>'a','pin'=>'a']);
自增
->setInc('字段名')
自減
->setDec('字段名',每次減幾)
七、刪除數據(四種方式,不帶字段名的為id主鍵的值)
->where('id',1)->delete()
->where("id in(1,2,3)")->delete()
->delete([1,2,3])
->where("id>2 and id <4")->delete()
