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 相关文章推荐
第十五节--Zend引擎的发展
Nov 16 PHP
PHP 上传文件的方法(类)
Jul 30 PHP
PHP获取表单textarea数据中的换行问题
Sep 10 PHP
通过PHP current函数获取未知字符键名数组第一个元素的值
Jun 24 PHP
php+js实现图片的上传、裁剪、预览、提交示例
Aug 27 PHP
使用phpQuery采集网页的方法
Nov 13 PHP
分享php分页的功能模块
Jun 16 PHP
php多线程并发实现方法
Sep 30 PHP
Laravel框架实现利用监听器进行sql语句记录功能
Jun 06 PHP
PHP中一个有趣的preg_replace函数详解
Aug 15 PHP
Laravel中错误与异常处理的用法示例
Sep 16 PHP
PHP实现微信提现(企业付款到零钱)
Aug 01 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的朋友 经常问的一些问题。不断更新
2011/08/11 PHP
WordPress中获取指定分类及其子分类下的文章数目
2015/12/31 PHP
Zend Framework数据库操作技巧总结
2017/02/18 PHP
PHP token验证生成原理实例分析
2019/06/05 PHP
Laravel 微信小程序后端搭建步骤详解
2019/11/26 PHP
PHP的重载使用魔术方法代码实例详解
2021/02/26 PHP
jquery获得页面元素的坐标值实现思路及代码
2013/04/15 Javascript
js获取input标签的输入值实现代码
2013/08/05 Javascript
Jquery中的层次选择器与find()的区别示例介绍
2014/02/20 Javascript
js中的onchange和onpropertychange (onchange无效的解决方法)
2014/03/08 Javascript
js行号显示的文本框实现效果(兼容多种浏览器 )
2015/10/23 Javascript
谈一谈js中的执行环境及作用域
2016/03/30 Javascript
纯js实现悬浮按钮组件
2016/12/17 Javascript
微信小程序实现刷脸登录
2018/05/25 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
详解JavaScript 作用域
2020/07/14 Javascript
vue之封装多个组件调用同一接口的案例
2020/08/11 Javascript
在Vue中使用HOC模式的实现
2020/08/23 Javascript
python继承和抽象类的实现方法
2015/01/14 Python
python按照多个字符对字符串进行分割的方法
2015/03/17 Python
Python使用matplotlib绘制多个图形单独显示的方法示例
2018/03/14 Python
浅谈python中对于json写入txt文件的编码问题
2018/06/07 Python
python selenium 执行完毕关闭chromedriver进程示例
2019/11/15 Python
python+appium+yaml移动端自动化测试框架实现详解
2020/11/24 Python
python re.match()用法相关示例
2021/01/27 Python
DVF官方网站:美国时装界尊尚品牌
2017/08/29 全球购物
铭万公司.net面试题笔试题
2014/07/20 面试题
大学生四个方面的自我评价
2013/09/19 职场文书
应届毕业生就业自荐信
2013/10/26 职场文书
审核会计岗位职责
2013/11/08 职场文书
安全生产月演讲稿
2014/05/09 职场文书
如何写求职信
2014/05/24 职场文书
党员四风问题对照检查材料
2014/09/27 职场文书
Python实现机器学习算法的分类
2021/06/03 Python
Pytest中conftest.py的用法
2021/06/27 Python
浅谈Python中对象是如何被调用的
2022/04/06 Python