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 相关文章推荐
织梦模板标记简介
Mar 11 PHP
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
Nov 18 PHP
PHP mkdir()定义和用法
Jan 14 PHP
PHP5中虚函数的实现方法分享
Apr 20 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
May 08 PHP
常见php数据文件缓存类汇总
Dec 05 PHP
Laravel 5框架学习之Blade 简介
Apr 08 PHP
PHP扩展Memcache分布式部署方案
Dec 06 PHP
分享50个提高PHP执行效率的技巧
Dec 26 PHP
Yii2框架类自动加载机制实例分析
May 02 PHP
Yii2语言国际化自动配置详解
Aug 22 PHP
PHP随机数函数rand()与mt_rand()的讲解
Mar 25 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
PHP 中检查或过滤IP地址的实现代码
2011/11/27 PHP
微信API接口大全
2015/04/15 PHP
linux下为php添加iconv模块的方法
2016/02/28 PHP
PHP 微信扫码支付源代码(推荐)
2016/11/03 PHP
PHP实现的AES双向加密解密功能示例【128位】
2018/09/03 PHP
laravel validate 设置为中文的例子(验证提示为中文)
2019/09/29 PHP
javascript 建设银行登陆键盘
2008/06/10 Javascript
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
页面回到顶部的三种实现(锚标记,js)
2012/10/01 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
IE下JS读取xml文件示例代码
2013/08/05 Javascript
js中遍历Map对象的方法
2016/07/27 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
JavaScript转换数据库DateTime字段类型方法
2017/06/27 Javascript
vue如何获取点击事件源的方法
2017/08/10 Javascript
fullpage.js最后一屏滚动方式
2018/02/06 Javascript
jQuery实现轮播图及其原理详解
2020/04/12 jQuery
Vue form表单动态添加组件实战案例
2019/09/02 Javascript
VUE实现图片验证码功能
2020/11/18 Javascript
JavaScript实现拖拽效果
2020/03/16 Javascript
微信小程序之导航滑块视图容器功能的实现代码(简单两步)
2020/06/19 Javascript
[07:47]DOTA2国际邀请赛采访专栏:探访Valve总部
2013/08/08 DOTA
在Python中操作字典之update()方法的使用
2015/05/22 Python
windows下python安装小白入门教程
2018/09/18 Python
Python中字符串与编码示例代码
2019/05/20 Python
pandas.read_csv参数详解(小结)
2019/06/21 Python
python numpy矩阵信息说明,shape,size,dtype
2020/05/22 Python
迟到检讨书大全
2014/01/25 职场文书
文明村创建实施方案
2014/03/27 职场文书
科技之星事迹材料
2014/06/02 职场文书
年度安全生产目标责任书
2014/07/23 职场文书
与美同行演讲稿
2014/09/13 职场文书
2014广电局实施党的群众路线教育实践活动方案思想汇报
2014/09/22 职场文书
行政经理岗位职责
2015/04/15 职场文书
2015年教务工作总结
2015/05/23 职场文书
阿里云日志过滤器配置日志服务
2022/04/09 Servers