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 相关文章推荐
967 个函式
Oct 09 PHP
基于Windows下Apache PHP5.3.1安装教程
Jan 08 PHP
PHP CURL模拟GET及POST函数代码
Apr 25 PHP
将一维或多维的数组连接成一个字符串的php代码
Aug 08 PHP
php异常处理技术,顶级异常处理器
Jun 13 PHP
PHP中如何定义和使用常量
Feb 28 PHP
深入apache配置文件httpd.conf的部分参数说明
Jun 28 PHP
PHP清除字符串中所有无用标签的方法
Dec 01 PHP
PHP生成压缩文件实例
Feb 07 PHP
PHP在linux上执行外部命令的方法
Feb 06 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
Oct 10 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 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
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
PHP中=赋值操作符对不同数据类型的不同行为
2011/01/02 PHP
php函数连续调用实例分析
2015/07/30 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
2015/12/14 PHP
php面向对象值单例模式
2016/05/03 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
Laravel开启跨域请求的方法
2019/10/13 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
Jquery 表单取值赋值的一些基本操作
2009/10/11 Javascript
jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
2010/10/15 Javascript
jquery 与NVelocity 产生冲突的解决方法
2011/06/13 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
javascript实现通过表格绘制颜色填充矩形的方法
2015/04/21 Javascript
jQuery判断是否存在滚动条的简单方法
2016/09/17 Javascript
微信小程序 request接口的封装实例代码
2017/04/26 Javascript
详解在vue-cli项目中安装node-sass
2017/06/21 Javascript
JavaScript函数中的this四种绑定形式
2017/08/15 Javascript
JS大坑之19位数的Number型精度丢失问题详解
2019/04/22 Javascript
JS使用iView的Dropdown实现一个右键菜单
2019/05/06 Javascript
JavaScript中的函数式编程详解
2020/08/22 Javascript
vue 监听 Treeselect 选择项的改变操作
2020/08/31 Javascript
在Python的Django框架中显示对象子集的方法
2015/07/21 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
Python设计模式之建造者模式实例详解
2019/01/17 Python
Python 实现数据结构-堆栈和队列的操作方法
2019/07/17 Python
pycharm编写spark程序,导入pyspark包的3中实现方法
2019/08/02 Python
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
学生出入校管理制度
2014/01/16 职场文书
销售经理岗位职责
2014/03/16 职场文书
师德建设实施方案
2014/03/21 职场文书
热爱祖国演讲稿
2014/05/04 职场文书
党的群众路线剖析材料
2014/10/09 职场文书
员工升职自荐信
2015/03/27 职场文书
书法社团活动总结
2015/05/07 职场文书
Golang: 内建容器的用法
2021/05/05 Golang
解决pycharm下载库时出现Failed to install package的问题
2021/09/04 Python