本文實(shí)例講述了tp5(thinkPHP5)框架數(shù)據(jù)庫(kù)Db增刪改查常見(jiàn)操作。分享給大家供大家參考,具體如下:
添加數(shù)據(jù)insert
$data = [
'name_cn' => '張三',
'name_en' => 'jack',
];
$res = Db::name('style')->insert($data);
添加數(shù)據(jù)。
INSERT INTO `tf_style` (`name_cn` , `name_en`) VALUES ('張三' , 'jack')
tp5還可以通過(guò)insertAll
插入多條數(shù)據(jù)。
$data = [
'name_cn' => '張三',
'name_en' => 'jack',
];
$res = Db::name('style')->insertGetId($data);
獲取插入的id。
修改數(shù)據(jù)update
更新數(shù)據(jù),使用update
方法。
$res = Db::name('style')->where('id',4)->update(['name_cn'=>'李四']);
UPDATE `tf_style` SET `name_cn` = '李四' WHERE `id` = 4;
返回結(jié)果為影響的行數(shù)。
$where = new Where();
$where['id'] = ['>',2];
$res = Db::name('style')->where($where)->update(['name_cn'=>'李四']);
通過(guò)$where對(duì)象進(jìn)行條件操作。
$where[] = ['id','>',2];
$res = Db::name('style')->where($where)->update(['name_cn'=>'王五']);
也是可以的。
主鍵可以直接寫入data數(shù)據(jù)中。
$res = Db::name('style')->update(['name_cn'=>'王五','id'=>2]);
結(jié)果如下:
UPDATE `tf_style` SET `name_cn` = '王五' WHERE `id` = 2;
這種方式只可以修改一條數(shù)據(jù)。
只修改一個(gè)字段,使用setField
方法。
$res = Db::name('style')->where('id',2)->setField(['name_cn'=>'劉備']);
$res = Db::name('style')->where('id',2)->setField(['name_cn'=>'劉備','name_en'=>'LiuBei']);
UPDATE `tf_style` SET `name_cn` = '劉備' , `name_en` = 'LiuBei' WHERE `id` = 2
效果與update
差不多。
刪除數(shù)據(jù)delete
刪除一條。
$res = Db::name('style')->where('id',2)->delete();
$res = Db::name('style')->delete('2');
刪除多條。
$res = Db::name('style')->delete('2,3');
id寫在字符串里面。
$res = Db::name('style')->delete([2,3,4]);
或者通過(guò)id數(shù)組。
查詢數(shù)據(jù)select
$data = Db::query('select * from tf_action');
$data = Db::query('select * from tf_action where id > ? and id ?',[1,10]);
$sql = Db::getLastSql();
查詢用query。
刪除,增加,修改,用execute。
$data = Db::table('tf_action')->select();
這里用的是表全名。
$data = Db::name('action')->select();
這里用的是去掉前綴的表名。
$data = db('action')->select();
助手函數(shù),效果與Db::name
差不多。
但是又不完全相同。
$data = db('action')->where('id','>',1)->where('id','',9)->select();
多條件查詢。
$data = db('action')->where('id','>',20)->whereOr('id','',9)->select();
或查詢。
如果中間的條件是空,就是=的意思。
$where = new Where();
$where['name'] = ['like','%戶%'];
$where['id'] = ['>',1];
$data = db('action')->where($where)->select();
$where[] = ['name','like','%戶%'];
$where[] = ['id','>',1];
$data = db('action')->where($where)->select();
組合查詢。
$where = new Where();
$where['name'] = ['like','%戶%'];
$where['id'] = ['>',1];
$data = db('action')->where($where)->limit(2,2)->order('id desc')->select();
分頁(yè)排序。
$where = new Where();
$where['name'] = ['like','%戶%'];
$where['id'] = ['>',1];
$data = db('action')->where($where)->limit(2,2)->order('id desc')->field('id,name')->select();
查詢指定字段。
$where = new Where();
$where['name'] = ['like','%戶%'];
$where['id'] = ['>',1];
$data = db('action')->where($where)->limit(2,2)->order('id desc')->field('id aid,name')->select();
起別名。
$data = db('action')->where($where)->field('count(*) as count')->find();
使用系統(tǒng)函數(shù)。
$data = db('action')->where("name like '%戶%' AND id > 1")->select();
直接寫字符串也是OK的。
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- tp5.1框架數(shù)據(jù)庫(kù)子查詢操作實(shí)例分析
- tp5.1 框架數(shù)據(jù)庫(kù)常見(jiàn)操作詳解【添加、刪除、更新、查詢】
- tp5.1 框架數(shù)據(jù)庫(kù)高級(jí)查詢技巧實(shí)例總結(jié)
- ThinkPHP5.1框架數(shù)據(jù)庫(kù)鏈接和增刪改查操作示例
- PHP利用pdo_odbc實(shí)現(xiàn)連接數(shù)據(jù)庫(kù)示例【基于ThinkPHP5.1搭建的項(xiàng)目】
- PHP7使用ODBC連接SQL Server2008 R2數(shù)據(jù)庫(kù)示例【基于thinkPHP5.1框架】
- ThinkPHP實(shí)現(xiàn)多數(shù)據(jù)庫(kù)連接的解決方法
- thinkPHP5實(shí)現(xiàn)的查詢數(shù)據(jù)庫(kù)并返回json數(shù)據(jù)實(shí)例
- tp5(thinkPHP5)框架實(shí)現(xiàn)多數(shù)據(jù)庫(kù)查詢的方法
- tp5(thinkPHP5)操作mongoDB數(shù)據(jù)庫(kù)的方法
- thinkPHP5實(shí)現(xiàn)數(shù)據(jù)庫(kù)添加內(nèi)容的方法
- tp5.1 框架數(shù)據(jù)庫(kù)-數(shù)據(jù)集操作實(shí)例分析