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 相关文章推荐
PHP安装攻略:常见问题解答(三)
Oct 09 PHP
php MsSql server时遇到的中文编码问题
Jun 11 PHP
php启动时候提示PHP startup的解决方法
May 07 PHP
关于file_get_contents返回为空或函数不可用的解决方案
Jun 24 PHP
浅析Mysql 数据回滚错误的解决方法
Aug 05 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
Jun 06 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
Jun 07 PHP
php-fpm开启状态统计的方法详解
Jun 23 PHP
php支付宝APP支付功能
Jul 29 PHP
PHP PDOStatement::fetch讲解
Jan 31 PHP
PHP反射实际应用示例
Apr 03 PHP
PHP中define() 与 const定义常量的区别详解
Jun 25 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
索尼SONY ICF-SW7600GR电路分析与改良
2021/03/02 无线电
php下将图片以二进制存入mysql数据库中并显示的实现代码
2010/05/27 PHP
php命令行使用方法和命令行参数说明
2014/04/08 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
javascript  Error 对象 错误处理
2008/05/18 Javascript
JavaScript 类型的包装对象(Typed Wrappers)
2011/10/27 Javascript
node.js中使用q.js实现api的promise化
2014/09/17 Javascript
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
javascript显式类型转换实例分析
2015/04/25 Javascript
JavaScript实现99乘法表及隔行变色实例代码
2016/02/24 Javascript
javascript动画系列之模拟滚动条
2016/12/13 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
2017/03/01 Javascript
对vuejs的v-for遍历、v-bind动态改变值、v-if进行判断的实例讲解
2018/08/27 Javascript
layer弹出层显示在top顶层的方法
2019/09/11 Javascript
Vue-cli项目部署到Nginx服务器的方法
2019/11/01 Javascript
JavaScript 替换所有匹配内容及正则替换方法
2020/02/12 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
原生JS实现天气预报
2020/06/16 Javascript
vue各种事件监听实例(小结)
2020/06/24 Javascript
javascript实现倒计时提示框
2021/03/02 Javascript
Python中运行并行任务技巧
2015/02/26 Python
初学Python函数的笔记整理
2015/04/07 Python
分析python切片原理和方法
2017/12/19 Python
tensorflow 中对数组元素的操作方法
2018/07/27 Python
pandas分区间,算频率的实例
2019/07/04 Python
python利用7z批量解压rar的实现
2019/08/07 Python
Python中*args和**kwargs的区别详解
2019/09/17 Python
解决python3.6用cx_Oracle库连接Oracle的问题
2020/12/07 Python
使用canvas一步步实现图片打码功能的方法
2019/06/17 HTML / CSS
大学生军训感想
2014/02/16 职场文书
文明倡议书范文
2014/04/15 职场文书
竞选学习委员演讲稿
2014/04/28 职场文书
小学班长竞选稿
2015/11/20 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
5个实用的JavaScript新特性
2022/06/16 Javascript