thinkphp的CURD和查询方式介绍


Posted in PHP onDecember 19, 2013

对数据的读取 Read

$m=new Model('User');
$m=M('User');
select
$m->select();//获取所有数据,以数组形式返回
find
$m->find($id);//获取单条数据
getField(字段名)//获取一个具体的字段值
$arr=$m->where('id=2')->getField('username');

三、ThinkPHP 3 创建数据    (重点)

对数据的添加 Create

$m=new Model('User');
$m=M('User');
$m->字段名=值
$m->add();

返回值是新增的id号

四、ThinkPHP 3 删除数据    (重点)

$m=M('User');
$m->delete(2);               //删除id为2的数据
$m->where('id=2')->delete(); //与上面效果相同,也是删除id为2的数据

返回值是受影响行数

五、ThinkPHP 3 更新数据    (重点)

$m=M('User');
$data['id']=1;
$data['username']='ztz2';
$m->save($data);            

返回值是受影响行数

============================================

一、普通查询方式

二、表达式查询方式

三、区间查询

四、统计查询

五、SQL直接查询

一、普通查询方式

a、字符串

$arr=$m->where("sex=0 and username='gege'")->find();

b、数组
$data['sex']=0;
$data['username']='gege';
$arr=$m->where($data)->find();

注意:这种方式默认是and的关系,如果使用or关系,需要添加数组值
$data['sex']=0;
$data['username']='gege';
$data['_logic']='or';

二、表达式查询方式
$data['id']=array('lt',6);
$arr=$m->where($data)->select();

EQ 等于

NEQ不等于

GT 大于

EGT大于等于

LT 小于

ELT小于等于

LIKE 模糊查询

$data['username']=array('like','%ge');
$arr=$m->where($data)->select();
NOTLIKE
$data['username']=array('notlike','%ge%'); //notlike中间没有空格
    $arr=$m->where($data)->select();

 

注意:如果一个字段要匹配多个通配符

$data['username']=array('like',array('%ge%','%2%','%五%'),'and');//如果没有第三个值,默认关系是or关系
$arr=$m->where($data)->select();
BETWEEN
$data['id']=array('between',array(5,7));
$arr=$m->where($data)->select();
//SELECT * FROM `tp_user` WHERE ( (`id` BETWEEN 5 AND 7 ) )
$data['id']=array('not between',array(5,7));//注意,not 和 between中间一定要有空格
$arr=$m->where($data)->select();
IN
$data['id']=array('in',array(4,6,7));
$arr=$m->where($data)->select();
//SELECT * FROM `tp_user` WHERE ( `id` IN (4,6,7) )
$data['id']=array('not in',array(4,6,7));
$arr=$m->where($data)->select();
//SELECT * FROM `tp_user` WHERE ( `id` NOT IN (4,6,7) )

三、区间查询

$data['id']=array(array('gt',4),array('lt',10));//默认关系是 and 的关系
//SELECT * FROM `tp_user` WHERE ( (`id` > 4) AND (`id` < 10) ) 
$data['id']=array(array('gt',4),array('lt',10),'or') //关系就是or的关系
$data['name']=array(array('like','%2%'),array('like','%五%'),'gege','or');

四、统计查询

count //获取个数

max   //获取最大数

min   //获取最小数

avg   //获取平均数

sum   //获取总和

五、SQL直接查询

a、query 主要数处理读取数据的

成功返回数据的结果集

失败返回boolean false

$m=M();
$result=$m->query("select *  from t_user where id >50");
var_dump($result);

b、execute 用于更新个写入操作

成功返回影响行数

失败返回boolean false

$m=M();
$result=$m->execute("insert into t_user(`username`) values('ztz3')");
var_dump($result);
PHP 相关文章推荐
第三节--定义一个类
Nov 16 PHP
使用php验证复选框有效性的示例
Nov 13 PHP
PHP链接MySQL的常用扩展函数
Oct 23 PHP
php将access数据库转换到mysql数据库的方法
Dec 24 PHP
PHP实现将textarea的值根据回车换行拆分至数组
Jun 10 PHP
php实现xml与json之间的相互转换功能实例
Jul 07 PHP
PHPCMS V9 添加二级导航的思路详解
Oct 20 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
Nov 05 PHP
PHP输出多个元素的排列或组合的方法
Mar 14 PHP
PHP+redis实现的购物车单例类示例
Feb 02 PHP
PHP registerXPathNamespace()函数讲解
Feb 03 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
Feb 21 PHP
php实现图片缩放功能类
Dec 18 #PHP
php防止sql注入代码实例
Dec 18 #PHP
php读取csv实现csv文件下载功能
Dec 18 #PHP
用PHP实现弹出消息提示框的两种方法
Dec 17 #PHP
sae使用smarty模板的方法
Dec 17 #PHP
解决file_get_contents无法请求https连接的方法
Dec 17 #PHP
phpstrom使用xdebug配置方法
Dec 17 #PHP
You might like
解析PHP中ob_start()函数的用法
2013/06/24 PHP
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
Yii的CDbCriteria查询条件用法实例
2014/12/04 PHP
php简单判断两个字符串是否相等的方法
2015/07/13 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
javascript中节点的最近的相关节点访问方法
2013/03/20 Javascript
js单例模式详解实例
2013/11/21 Javascript
浅谈JavaScript中的对象及Promise对象的实现
2015/11/15 Javascript
javascript图片延迟加载实现方法及思路
2015/12/31 Javascript
NodeJS测试框架mocha入门教程
2017/03/28 NodeJs
微信小程序 图片宽高自适应详解
2017/05/11 Javascript
详解vue-resource promise兼容性问题
2017/06/20 Javascript
详解Vue2.x-directive的学习笔记
2017/07/17 Javascript
vue-router项目实战总结篇
2018/02/11 Javascript
WebPack配置vue多页面的技巧
2018/05/15 Javascript
vue打包使用Nginx代理解决跨域问题
2018/08/27 Javascript
Vue从TodoList中学父子组件通信
2019/02/05 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
使用localStorage替代cookie做本地存储
2019/09/25 Javascript
在vue中使用eslint,配合vscode的操作
2020/11/09 Javascript
[37:50]VP vs TNC Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
R语言 vs Python对比:数据分析哪家强?
2017/11/17 Python
TensorFlow的权值更新方法
2018/06/14 Python
python 获取等间隔的数组实例
2019/07/04 Python
Python爬虫学习之获取指定网页源码
2019/07/30 Python
django多文件上传,form提交,多对多外键保存的实例
2019/08/06 Python
Python基于模块Paramiko实现SSHv2协议
2020/04/28 Python
pandas参数设置的实用小技巧
2020/08/23 Python
Python下载的11种姿势(小结)
2020/11/18 Python
CSS3 制作旋转的大风车(充满童年回忆)
2013/01/30 HTML / CSS
三星法国官方网站:Samsung法国
2019/10/31 全球购物
database面试题
2013/03/28 面试题
鼓励运动员的广播稿
2014/02/08 职场文书
领导四风问题整改措施思想汇报
2014/10/13 职场文书
初中开学典礼新闻稿
2015/07/17 职场文书
Python中字符串对象语法分享
2022/02/24 Python