一、普通查询方式

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);

'URL_PATHINFO_DEPR' => '-' //配置Pathinfo模式访问的分割符
'TMPL_L_DELIM'=>'<{'; //配置左定界符
'TMPL_R_DELIM'=>'}>'; //配置右定界符
'DB_TYPE'=>'mysql', //设置数据可类型
'DB_HOST'=>'localhost', //设置数据库主机
'DB_NAME'=>'thinkphp', //设置数据库名
'DB_USER'=>'root', //设置用户名
'DB_PWD'=>'', //设置密码
'DB_PORT'=>'3306', //设置端口号
'DB_PREFIX'=>'tp_', //设置表前缀
'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp', //DSN方式配置数据库信息
'SHOW_PAGE_TRACE'=>true,//开启页面Trace
'DB_LIKE_FIELDS'=>'title|content' //查询语句中条件自动变为模糊查询%%

六、常用连贯操作

1.where

帮助我们设置查询条件

2.order

对结果进行排序

$arr=$m->order('id desc')->select();

$arr=$m->order(array('id'=>'desc','sex'=>'asc'))->select();

3.limit

限制结果

limit(2,5)

limit('2,5')

limit(10)//limit(0,10)

4.field

设置查询字段

field('username as name,id')

field(array('username'=>'name','id')

field('id',true) //获取除了id以外的所有字段

5.table

6.group

7.having

七、补充

alias 用于给当前数据表定义别名 字符串

page 用于查询分页(内部会转换成limit) 字符串和数字

join* 用于对查询的join支持 字符串和数组

union* 用于对查询的union支持 字符串、数组和对象

distinct 用于查询的distinct支持 布尔值

lock 用于数据库的锁机制 布尔值

cache 用于查询缓存 支持多个参数(以后在缓存部分再详细描述)

relation 用于关联查询(需要关联模型扩展支持) 字符串

validate 用于数据自动验证 数组

auto 用于数据自动完成 数组

filter 用于数据过滤 字符串

scope* 用于命名范围 字符串、数组

ThinkPHP 3.1.2 查询方式 -4的更多相关文章

  1. ThinkPHP 3.1.2 查询方式的一般使用2

    //select id1> and id2< 默认是and $data['id']=array(array('gt',$id1),array('lt',$id2)); // $data[' ...

  2. ThinkPHP 3.1.2 查询方式的一般使用1

    public function show(){ echo "访问了index模块下的show方法!!"; echo "欢迎你".$_GET['name'].'你 ...

  3. Thinkphp查询 1.查询方式 2.表达式查询 3.快捷查询 4.区间查询 5.组合查询 6.统计查询 7.动态查询 8.SQL 查询

    1.使用字符串作为条件查询 $user = M('User'); var_dump($user->where('id=1 AND user="蜡笔小新"')->sele ...

  4. Thinkphp的SQL查询方式

    一.普通查询方式 a.字符串$arr=$m->where("sex=0 and username='gege'")->find();b.数组$data['sex']=0 ...

  5. THINKphp中复杂的查询

    字符串拼接查询 案例一:拼接字符串(多条件查询) $where = ''; //定义字符串,用于拼接满足条件的数据字段 $value = []; // 定义空数组,用于接收值 if(!empty($n ...

  6. ThinkPHP 数据库操作(三) : 查询方法、查询语法、链式操作

    查询方法 条件查询方法 where 方法 可以使用 where 方法进行 AND 条件查询: Db::table('think_user') ->where('name','like','%th ...

  7. TP里where的查询方式,比如or应该怎么写?

    这应该是个基础..只是我没有系统的学TP,所以用到了临时查了手册. 正常来说,thinkphp里的查询方式是: ThinkPHP可以支持直接使用字符串作为查询条件,但是大多数情况推荐使用数组或者对象来 ...

  8. thinkphp里面的or查询

    thinkphp里面的or查询 whereOr 方法 使用whereOr 方法进行OR 查询: Db::table('think_user') ->where('name','like','%t ...

  9. Hibernate 查询方式(HQL/QBC/QBE)汇总

    作为老牌的 ORM 框架,Hibernate 在推动数据库持久化层所做出的贡献有目共睹. 它所提供的数据查询方式也越来越丰富,从 SQL 到自创的 HQL,再到面向对象的标准化查询. 虽然查询方式有点 ...

随机推荐

  1. Python学习笔记第十四周

    目录: 一.HTML 1.概述 2.HTML 二.CSS 一.HTML 1.概述 HTML是英文Hyper Text Mark-up Lang(超文本标记语言)的缩写,他是一种制作万维网页面的标准语言 ...

  2. Kafka高可用实现原理

    数据存储格式 Kafka的高可靠性的保障来源于其健壮的副本(replication)策略.一个Topic可以分成多个Partition,而一个Partition物理上由多个Segment组成. Seg ...

  3. 【linux基础】CMake如何生成动态链接库文件

    CMakeLists.txt SET(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/lib) ADD_LIBRARY(filename SHARED ${CURREN ...

  4. unity ugui Toggle Group详解(Chinar出品、简单易懂)

    UGUI Toggle Group用法教程 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar ...

  5. HPU1460: 杨八方的表面兄弟

    题目描述 如果你之前关注过HPUOJ的话,那么你一定听说过杨八方的名字.在去年,很多同学共同见证了杨八方同学的填报志愿.来到学校.军训--或许你曾陪同杨八方一起思考过许多问题,又或者你是刚听说这个名字 ...

  6. htm基础知识,css的链入以及标签分类。

    <!DocTYPE>  DOC--Document 文档  TYPE  类型  文档类型 告诉浏览器这是什么文件 单标签: meta  设置   charset  设置编码 双标签: 开始 ...

  7. 【HDOJ2767】【Tarjan缩点】

    http://acm.hdu.edu.cn/showproblem.php?pid=2767 Proving Equivalences Time Limit: 4000/2000 MS (Java/O ...

  8. redis 部署相关

    ★ 启动: 配置好环境变量后:打开一个cmd窗口,执行redis-server.exe就可以启动redis了. https://blog.csdn.net/weixin_42423819/articl ...

  9. LG5056 【模板】插头dp

    题意 题目背景 ural 1519 陈丹琦<基于连通性状态压缩的动态规划问题>中的例题 题目描述 给出n*m的方格,有些格子不能铺线,其它格子必须铺,形成一个闭合回路.问有多少种铺法? 输 ...

  10. CH4701 天使玩偶

    题意 4701 天使玩偶 0x40「数据结构进阶」例题 描述 题目PDF 样例输入 2 3 1 1 2 3 2 1 2 1 3 3 2 4 2 样例输出 1 2 来源 石家庄二中Violet 3杯省选 ...