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 相关文章推荐
example2.php
Oct 09 PHP
上传多个文件的PHP脚本
Nov 26 PHP
php 分库分表hash算法
Nov 12 PHP
php visitFile()遍历指定文件夹函数
Aug 21 PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
Oct 17 PHP
phpadmin如何导入导出大数据文件及php.ini参数修改
Feb 18 PHP
PHP 函数call_user_func和call_user_func_array用法详解
Mar 02 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
Nov 18 PHP
php的ddos攻击解决方法
Jan 08 PHP
php获取四位字母和数字的随机数的实现方法
Jan 09 PHP
PHP 设计模式系列之 specification规格模式
Jan 10 PHP
关于Laravel参数验证的一些疑与惑
Nov 19 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学习 运算符与运算符优先级
2008/06/15 PHP
PHP读取ACCESS数据到MYSQL的代码
2011/05/11 PHP
PHP图片等比例缩放生成缩略图函数分享
2014/06/10 PHP
基于递归实现的php树形菜单代码
2014/11/19 PHP
PHP 微信支付类 demo
2015/11/30 PHP
Javascript实例教程(19) 使用HoTMetal(7)
2006/12/23 Javascript
实用的JS正则表达式(手机号码/IP正则/邮编正则/电话等)
2013/01/11 Javascript
SwfUpload在IE10上不出现上传按钮的解决方法
2013/06/25 Javascript
Highcharts 非常实用的Javascript统计图demo示例
2013/07/03 Javascript
JavaScript学习心得之概述
2015/01/20 Javascript
jQuery寻找n以内完全数的方法
2015/06/24 Javascript
SpringMVC返回json数据的三种方式
2015/12/10 Javascript
自动完成的搜索框javascript实现
2016/02/26 Javascript
jquery动态遍历Json对象的属性和值的方法
2016/07/27 Javascript
js严格模式总结(分享)
2016/08/22 Javascript
基于jquery二维码生成插件qrcode
2017/01/07 Javascript
jQuery实现的简单悬浮层功能完整实例
2017/01/23 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
2017/03/13 Javascript
Node.js 基础教程之全局对象
2017/08/06 Javascript
vue-cli的eslint相关用法
2017/09/29 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
全新打包工具parcel零配置vue开发脚手架
2018/01/11 Javascript
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
2018/09/15 Javascript
在vue使用clipboard.js进行一键复制文本的实现示例
2019/01/15 Javascript
微信小程序如何实现全局重新加载
2019/06/05 Javascript
使用node.JS中的url模块解析URL信息
2020/02/06 Javascript
Python画柱状统计图操作示例【基于matplotlib库】
2018/07/04 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
2019/01/29 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
2019/08/08 Python
Python实现打印实心和空心菱形
2019/11/23 Python
Woolworth官网:澳洲第一大超市
2017/06/25 全球购物
应届生幼儿园求职信
2013/11/12 职场文书
甲方资料员岗位职责
2013/12/13 职场文书
房屋转让协议书
2014/04/11 职场文书
大学奖学金获奖感言
2014/08/15 职场文书
MySQL分区表管理命令汇总
2022/03/21 MySQL