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 相关文章推荐
THINKPHP+JS实现缩放图片式截图的实现
Mar 07 PHP
php中使用__autoload()自动加载未定义类的实现代码
Feb 06 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
Jun 25 PHP
PHP实现微信公众平台音乐点播
Mar 20 PHP
php验证session无效的解决方法
Nov 04 PHP
浅析php创建者模式
Nov 25 PHP
php发送短信验证码完成注册功能
Nov 24 PHP
PHP转换文本框内容为HTML格式的方法
Jul 20 PHP
PHP实现bitmap位图排序与求交集的方法
Jul 28 PHP
PHP处理bmp格式图片的方法分析
Jul 04 PHP
详解PHP PDO简单教程
May 28 PHP
PHP使用ajax的post方式下载excel文件简单示例
Aug 06 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
世界第一个无线广播电台 KDKA
2021/03/01 无线电
解析csv数据导入mysql的方法
2013/07/01 PHP
推荐一本PHP程序猿都应该拜读的书
2014/12/31 PHP
DEDECMS首页调用图片集里的多张图片
2015/06/05 PHP
thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法
2016/05/19 PHP
PHP实现的二分查找算法实例分析
2017/12/19 PHP
跨浏览器的事件对象介绍
2012/06/27 Javascript
javascript简单实现图片预加载
2014/12/03 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
JavaScript常用脚本汇总(三)
2015/03/04 Javascript
跟我学习javascript的函数调用和构造函数调用
2015/11/16 Javascript
基于jQuery实现简单的折叠菜单效果
2015/11/23 Javascript
整理Javascript函数学习笔记
2015/12/01 Javascript
JS函数的几种定义方式分析
2015/12/17 Javascript
购物车前端开发(jQuery和bootstrap3)
2016/08/27 Javascript
bootstrap table分页模板和获取表中的ID方法
2017/01/10 Javascript
JavaScript获取中英文混合字符串长度的方法示例
2017/02/04 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
Vue 全家桶实现移动端酷狗音乐功能
2018/11/16 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
python开发之字符串string操作方法实例详解
2015/11/12 Python
python中执行shell的两种方法总结
2017/01/10 Python
Python爬虫包 BeautifulSoup  递归抓取实例详解
2017/01/28 Python
python万年历实现代码 含运行结果
2017/05/20 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
2017/08/08 Python
基于Python函数和变量名解析
2019/07/19 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
python做接口测试的必要性
2019/11/20 Python
Python三维绘图之Matplotlib库的使用方法
2020/09/20 Python
Canvas 像素处理之改变透明度的实现代码
2019/01/08 HTML / CSS
波兰补充商店:Muscle Power
2018/10/29 全球购物
数据库测试通常都包括哪些方面
2015/11/30 面试题
资产经营总监岗位职责
2013/12/04 职场文书
项目负责人岗位职责
2015/02/15 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
基于Python编写一个监控CPU的应用系统
2022/06/25 Python