abstract:class Query{ //讀操作返回的都是二維數(shù)組,沒有滿足條件的記錄,返回的是一個(gè)空的數(shù)組 //寫操作返回的是受影響的記錄數(shù)量,如果沒有則返回0; public function find() { //查找單挑記錄 //查找表staff1 主鍵
class Query
{
//讀操作返回的都是二維數(shù)組,沒有滿足條件的記錄,返回的是一個(gè)空的數(shù)組
//寫操作返回的是受影響的記錄數(shù)量,如果沒有則返回0;
public function find()
{
//查找單挑記錄
//查找表staff1 主鍵
$res = Db::table('staff1')->find(3);//返回主鍵等于3的
$res2 = Db::table('staff1')
// ->field('name,sex,salary') //設(shè)置需要結(jié)果的名字 不寫為 全部需要
->field(['name'=>'名字','sex'=>'性別','salary'=>'工資'])// 給對應(yīng)結(jié)果的 姓名添加別名
->where('id','>',5) //返回id>2 第一個(gè)參數(shù) 字段,第二個(gè)參數(shù) 表達(dá)式,等于為默認(rèn)。第三個(gè)參數(shù) 為表達(dá)式后面的條件
->find();
// 1,操作的表 2,需要操作的范圍,3,操作的方法
dump($res);
echo '<hr>';
dump($res2);
}
public function select() // 查詢多條記錄
{
$res = Db::table('staff1')
// ->field(['name'=>'姓名','salary'=>'工資'])
->field('name,salary')
// ->where('salary>4000') //工資大于4000
->where('salary','>','1000') //方法二
->order('salary','DESC') //根據(jù)salary 排序 DESC 降序
// ->order('salary DESC') //排序方法二
->limit(5) //需要獲取數(shù)據(jù)的條目,不設(shè)置 為獲取全部
->select();
return $res ;
}
public function insert() //新增一條數(shù)據(jù)
{
//新增單條記錄 :insert
// $data = ['name'=>'李小龍','sex'=> 0,'age'=>37,'salary'=>35000];
// $rn = Db::table('staff1')->insert($data);
// $id = Db::getLastInsID();//獲取新增數(shù)據(jù)的id
// return $rn? '添加成功ID='.$id:'添加失敗';
/************************************************************
/ 簡易方法
*************************************************************/
// data($data); 將要處理的數(shù)據(jù)打包 $option[] 不太明白需要看文檔
//insertGetId() = insert() + getLastInsID() 直接添加完獲取添加的ID
// $data = ['name'=>'周華健','sex'=> 0,'age'=>58,'salary'=>3500000];
// $id = Db::table('staff1')->insertGetId($data);
// return $id?'添加成功ID='.$id:'添加失敗';
//====================添加多條數(shù)據(jù)=======================================
//======================使用insertAll===================================
$data =[
['name'=>'張飛','sex'=>0,'age'=>53,'salary'=>3215],
['name'=>'關(guān)羽','sex'=>0,'age'=>52,'salary'=>3510],
['name'=>'劉備','sex'=>0,'age'=>48,'salary'=>3599],
['name'=>'諸葛亮','sex'=>0,'age'=>32,'salary'=>3620]
];
$num = Db::table('staff1')->data($data)->insertAll();
return $num?'添加的數(shù)目為:'.$num:'添加失敗';
}
/*///////////////////////////////////////////////////////
數(shù)據(jù)更新
//////////////////////////////////////////////////////*/
public function update()
{
//更新操作必須是基于前置查詢,不允許無條件更新
//更新使用update()
//Db::raw( '原有數(shù)據(jù)不變 +要執(zhí)行的操作')
//將工資小于等于4000的員工,加薪1000元
// $num = Db::table('staff1')
// ->where('salary','<=',4000)
// ->data(['salary'=>Db::raw('salary+1000')])
// ->update();
/////////////方法二//////////////////////
$num =Db::table('staff1')
->update(['sex'=>2,'id'=>12]);
return '返回:'.$num;
}
/*//////////////////////////////////////////////////
刪除操作
/////////////////////////////////////////////////////*/
public function delete()
{
//刪除主鍵ID
// $num = Db::table('staff1')->delete(8); //刪除單個(gè),多個(gè)需要用數(shù)組標(biāo)識
// $num =Db::table('staff1')->delete([12,13,14]);
//////////////////////根據(jù)條件刪除//////////////////////////////////
$num =Db::table('staff1')
->where('salary','>',30000)
->delete();
//////////////////////////情況數(shù)據(jù)表////////////////////////////////////
// $num = Db::table('staff1')->delete(true);
return $num?'刪除成功,刪除了'.$num:'刪除失敗';
}
}
// dump((new Query)->select());
dump((new Query)->delete());