• 售前

  • 售后

热门帖子
入门百科

tp5(thinkPHP5)框架数据库Db增删改查常见操作总结

[复制链接]
螃蟹357 显示全部楼层 发表于 2021-10-26 13:14:39 |阅读模式 打印 上一主题 下一主题
本文实例讲述了tp5(thinkPHP5)框架数据库Db增编削查常见操作。分享给各人供各人参考,具体如下:
添加数据insert
  1. $data = [
  2.   'name_cn' => '张三',
  3.   'name_en' => 'jack',
  4. ];
  5. $res = Db::name('style')->insert($data);
复制代码
添加数据。
  1. INSERT INTO `tf_style` (`name_cn` , `name_en`) VALUES ('张三' , 'jack')
复制代码
tp5还可以通过
  1. insertAll
复制代码
插入多条数据。
  1. $data = [
  2.   'name_cn' => '张三',
  3.   'name_en' => 'jack',
  4. ];
  5. $res = Db::name('style')->insertGetId($data);
复制代码
获取插入的id。
修改数据update
更新数据,利用
  1. update
复制代码
方法。
  1. $res = Db::name('style')->where('id',4)->update(['name_cn'=>'李四']);
  2. UPDATE `tf_style` SET `name_cn` = '李四' WHERE `id` = 4;
复制代码
返回结果为影响的行数。
  1. $where = new Where();
  2. $where['id'] = ['>',2];
  3. $res = Db::name('style')->where($where)->update(['name_cn'=>'李四']);
复制代码
通过$where对象举行条件操作。
  1. $where[] = ['id','>',2];
  2. $res = Db::name('style')->where($where)->update(['name_cn'=>'王五']);
复制代码
也是可以的。
主键可以直接写入data数据中。
  1. $res = Db::name('style')->update(['name_cn'=>'王五','id'=>2]);
复制代码
结果如下:
  1. UPDATE `tf_style` SET `name_cn` = '王五' WHERE `id` = 2;
复制代码
这种方式只可以修改一条数据。
只修改一个字段,利用
  1. setField
复制代码
方法。
  1. $res = Db::name('style')->where('id',2)->setField(['name_cn'=>'刘备']);
  2. $res = Db::name('style')->where('id',2)->setField(['name_cn'=>'刘备','name_en'=>'LiuBei']);
  3. UPDATE `tf_style` SET `name_cn` = '刘备' , `name_en` = 'LiuBei' WHERE `id` = 2
复制代码
结果与
  1. update
复制代码
差不多。
删除数据delete
删除一条。
  1. $res = Db::name('style')->where('id',2)->delete();
  2. $res = Db::name('style')->delete('2');
复制代码
删除多条。
  1. $res = Db::name('style')->delete('2,3');
复制代码
id写在字符串内里。
  1. $res = Db::name('style')->delete([2,3,4]);
复制代码
或者通过id数组。
查询数据select
  1. $data = Db::query('select * from tf_action');
  2. $data = Db::query('select * from tf_action where id > ? and id < ?',[1,10]);
  3. $sql = Db::getLastSql();
复制代码
查询用query。
删除,增加,修改,用execute。
  1. $data = Db::table('tf_action')->select();
复制代码
这里用的是表全名。
  1. $data = Db::name('action')->select();
复制代码
这里用的是去掉前缀的表名。
  1. $data = db('action')->select();
复制代码
助手函数,结果与
  1. Db::name
复制代码
差不多。
但是又不完全雷同。
  1. $data = db('action')->where('id','>',1)->where('id','<',9)->select();
复制代码
多条件查询。
  1. $data = db('action')->where('id','>',20)->whereOr('id','<',9)->select();
复制代码
或查询。
如果中间的条件是空,就是=的意思。
  1. $where = new Where();
  2. $where['name'] = ['like','%户%'];
  3. $where['id'] = ['>',1];
  4. $data = db('action')->where($where)->select();
  5. $where[] = ['name','like','%户%'];
  6. $where[] = ['id','>',1];
  7. $data = db('action')->where($where)->select();
复制代码
组合查询。
  1. $where = new Where();
  2. $where['name'] = ['like','%户%'];
  3. $where['id'] = ['>',1];
  4. $data = db('action')->where($where)->limit(2,2)->order('id desc')->select();
复制代码
分页排序。
  1. $where = new Where();
  2. $where['name'] = ['like','%户%'];
  3. $where['id'] = ['>',1];
  4. $data = db('action')->where($where)->limit(2,2)->order('id desc')->field('id,name')->select();
复制代码
查询指定字段。
  1. $where = new Where();
  2. $where['name'] = ['like','%户%'];
  3. $where['id'] = ['>',1];
  4. $data = db('action')->where($where)->limit(2,2)->order('id desc')->field('id aid,name')->select();
复制代码
起别名。
  1. $data = db('action')->where($where)->field('count(*) as count')->find();
复制代码
利用体系函数。
  1. $data = db('action')->where("name like '%户%' AND id > 1")->select();
复制代码
直接写字符串也是OK的。
更多关于thinkPHP相关内容感爱好的读者可检察本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技能总结》。
盼望本文所述对各人基于ThinkPHP框架的PHP步调计划有所帮助。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作