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


Posted in PHP onJanuary 10, 2019

本文实例讲述了tp5(thinkPHP5)框架数据库Db增删改查常见操作。分享给大家供大家参考,具体如下:

添加数据insert

$data = [
  'name_cn' => '张三',
  'name_en' => 'jack',
];
$res = Db::name('style')->insert($data);

添加数据。

INSERT INTO `tf_style` (`name_cn` , `name_en`) VALUES ('张三' , 'jack')

tp5还可以通过insertAll插入多条数据。

$data = [
  'name_cn' => '张三',
  'name_en' => 'jack',
];
$res = Db::name('style')->insertGetId($data);

获取插入的id。

修改数据update

更新数据,使用update方法。

$res = Db::name('style')->where('id',4)->update(['name_cn'=>'李四']);
UPDATE `tf_style` SET `name_cn` = '李四' WHERE `id` = 4;

返回结果为影响的行数。

$where = new Where();
$where['id'] = ['>',2];
$res = Db::name('style')->where($where)->update(['name_cn'=>'李四']);

通过$where对象进行条件操作。

$where[] = ['id','>',2];
$res = Db::name('style')->where($where)->update(['name_cn'=>'王五']);

也是可以的。

主键可以直接写入data数据中。

$res = Db::name('style')->update(['name_cn'=>'王五','id'=>2]);

结果如下:

UPDATE `tf_style` SET `name_cn` = '王五' WHERE `id` = 2;

这种方式只可以修改一条数据。

只修改一个字段,使用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差不多。

删除数据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]);

或者通过id数组。

查询数据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();

助手函数,效果与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();

分页排序。

$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();

使用系统函数。

$data = db('action')->where("name like '%户%' AND id > 1")->select();

直接写字符串也是OK的。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php empty()与isset()区别的详细介绍
Jun 17 PHP
php无限遍历文件夹示例分享
Mar 04 PHP
php页码形式分页函数支持静态化地址及ajax分页
Mar 28 PHP
php中try catch捕获异常实例详解
Nov 21 PHP
php自定文件保存session的方法
Dec 10 PHP
yii2.0之GridView自定义按钮和链接用法
Dec 15 PHP
PHP实现一维数组转二维数组的方法
Feb 25 PHP
PHP正则表达式之捕获组与非捕获组
Nov 06 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
Dec 05 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
Mar 01 PHP
laravel model 两表联查示例
Oct 24 PHP
PHP优化之批量操作MySQL实例分析
Apr 23 PHP
tp5(thinkPHP5)框架实现多数据库查询的方法
Jan 10 #PHP
tp5框架使用composer实现日志记录功能示例
Jan 10 #PHP
PHP微信支付结果通知与回调策略分析
Jan 10 #PHP
php如何利用pecl安装mongodb扩展详解
Jan 09 #PHP
PHP如何通过表单直接提交大文件详解
Jan 08 #PHP
Laravel 队列使用的实现
Jan 08 #PHP
laravel 框架配置404等异常页面
Jan 07 #PHP
You might like
追忆往昔!浅谈收音机的百年发展历史
2021/03/01 无线电
调试一段PHP程序时遇到的三个问题
2012/01/17 PHP
php自定义session示例分享
2014/04/22 PHP
destoon找回管理员密码的方法
2014/06/21 PHP
Laravel用户授权系统的使用方法示例
2018/09/16 PHP
基于JavaScript 下namespace 功能的简单分析
2013/07/05 Javascript
node.js中的fs.unlink方法使用说明
2014/12/15 Javascript
js获取数组的最后一个元素
2015/04/14 Javascript
JQuery包裹DOM节点的方法
2015/06/11 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
jQuery基于ajax操作json数据简单示例
2017/01/05 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
2017/09/19 Javascript
详解react服务端渲染(同构)的方法
2017/09/21 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
vue cli2.0单页面title修改方法
2018/06/07 Javascript
微信小程序入门之广告条实现方法示例
2018/12/05 Javascript
在vue中created、mounted等方法使用小结
2020/07/21 Javascript
Js图片点击切换轮播实现代码
2020/07/27 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
使用Python编写一个最基础的代码解释器的要点解析
2016/07/12 Python
python条件变量之生产者与消费者操作实例分析
2017/03/22 Python
基于python requests selenium爬取excel vba过程解析
2020/08/12 Python
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
TripAdvisor德国:全球领先的旅游网站
2017/12/07 全球购物
Eclipse面试题
2014/03/22 面试题
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
2016/11/26 面试题
幼儿园大班评语大全
2014/04/17 职场文书
课外活动总结范文
2014/07/09 职场文书
2014年秋季开学寄语
2014/08/02 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
教师个人年终总结
2015/02/11 职场文书
安全生产会议制度
2015/08/06 职场文书
Java 获取Word中所有的插入和删除修订的方法
2022/04/06 Java/Android
tomcat正常启动但网页却无法访问的几种解决方法
2022/05/06 Servers