class SelectAction extends Action{
function index(){
//thinkphp 查询语言
// 1.普通查询
// 2.区间查询
// 3.组合查询
// 4.复合查询
// 5.统计查询
// 6.定位查询
// 7.SQL查询
// 8.动态查询
// (一).普通查询
// 1.字符串形式
// 'id'>5 and id<9 在SQL语句当中写的基本形式也是字符串形式
// 2.数组形式
// $user=M('user');
// $date['username']='aaaa'; //$date['字段名']=array('表达式','查询条件');
// $liset=$user->where($date)->select();
// 3.对象形式
// $user=M('user');
// $condition=new stdClass();
// $codition->username='aaaa';
// $list=$user->where($a)->select();
// 查询表达式
// EQ 等(=)
// NEQ 不等于(!=)
// GT 大于(>)
// EGT 大于等于(>=)
// LT 小于(<)
// ELT 小于等于(<=)
// LIKE 等于SQL like
// [NOT]ETWEEN 等于SQL的BETWEEN
// [not] in 查询集合
// exp 比较特殊 是指使用标准SQL语言 实现更加复杂的情况
//==============================================================================
//普通查询
//$mo=M('Mvc');
//-------输出ID等于4的所有字段--------
//$list=$mo->where('id=4')->select(); 1.字符串形式
//$list=$mo->where(array('id'=>array('EQ','4')))->select(); 2.数组形式
//$conditon=new stdClass();
//$conditon->id=4; 3.对象形式
//-------输出ID不等于4的所有字段--------
//$condition="id!=4"; 1.字符串形式
//$conditon['id']=array('NEQ','4'); 2.数组形式
//-------like的使用 找用户名以h字母开始的---------
//$condition="name like 'h%'"; 1.字符串形式
//$condition['name']=array('like','h%'); 2.数组形式
//$condition=array('name'=>array('like','h%')); 2.数组形式另一种写法
//-------BETWEEN的使用 找到id 4 到id 10的值-------
//$condition="id between '4' and '10'"; 1.字符串形式
//$condition['id']=array('between','4,10'); 2.数组形式
//$condition=array('id'=>array('between','4,10')); 2.数组形式另一种写法
//$condition['id']=array('between',array('4','10')); 2.1三维数组的数组形式
//$condition=array('id'=>array('between',array('4','10'))); 2.1三维数组的数组形式另一种写法
//$condition['id']=array('not between','4,10'); not between
//-------in的使用 找到name 是 ccc,ggg,nnn的行---------
//$condition="name in ('ccc','ggg','nnn')"; 1.字符串形式
//$condition['name']=array('in','ccc,ggg,nnn'); 2.数组形式
//$condition['name']=array('in',array('ccc','ggg','nnn')); 2.1三维数组的数组形式
//-------exp 的使用 找到name 是 ccc,ggg,nnn的行--------
//$condition['name']=array('exp',"in('ccc','ggg','nnn')"); 2.数组形式
//==========================================================================================================
//区间查询 区间查询就是同一字段间 跨值查询 归根到底 还是数组查询 查询表达式BETWEEN能代替其中一部分 但是区间查询更灵活 范围更广
//$map['字段名'] = array(第一个条件array('like','%a%'), 第二个条件array('like','%b%'), 第三个条件array('like','%c%'), 第三个条件'ThinkPHP',条件间的关系'or 或 and');
//------查找id大于3 小于10的行------
//$condition="id>=3 and id<=10"; 1.字符串形式
//$condition['id']=array('between','3,10'); 2.between
//$condition['id']=array(array('EGT',3),array('ELT',10)); 3.区间查询
//$condition['id']=array(array('GT',3),array('LT',10),'or');
//==========================================================================================================
//组合查询 组合查询 就是跨字段查询
//$condition['id']=array('EQ',8);
//$condition['name']=array('EQ','ccccc');
//$condition['_string']="id=2"; 就是在后面加上标准的sql where语句
//$condition['_logic']='or'; 字段条件之间的关系
//=========================================================================================================
//复合查询 复合查询是包括区间查询 和 组合查询 先写优先级高的模块 然后 __complex压入大模块中
//---------查询表 name为 含有c 2开头 g结尾 其中c结尾的id必须为2-----------
//$condition="(name like '%c%' and id=2 )or name like '2%' or name like '%g'";查询字符串
// $date['name']=array('like','%c%');
// $date['id']=2;
// $date['_logic']='and';
// $condition['_complex']=$date;
// $condition['name']=array(array('like','2%'),array('like','%g'),'or');
// $condition['_logic']='or';
//---------查询表 name为 含有c 2开头 其中c结尾的id必须为2 2开头必须ip是127% 他们必须同时time不为空 -------
// $condition="(name like '%c%' and id=2 and time!='') or (name like '2%' and ip like '127%' and time!='')"; 1.字符串形式
// -------------------
// $date['name']=array('like','%c%'); 2.数组加字符串形式
// $date['id']=2; 复合查询 是数组查询的一种形式 所有受到数组查询的
// $date['time']=array('NEQ',''); 局限性 每个特殊查询 只能使用一次(_string _query
// $date['_logic']='and'; _complex)只能使用一次
// $twda['_complex']=$date;
// $twda['_string']="name like '2%' and ip like '127%' and time!=''";
// $twda['_logic']='or';
// $condition['_complex']=$twda;
// -------------------
//==========================================================================================================
//统计查询
// $mo->count('字段'); 总数
// $mo->max('字段') 最大值
// $mo->min('字段') 最小值
// $mo->avg('字段') 平均数
// $mo->sum(字段) 和
$mo=M('CommonModel:Mvc');
//$list=$mo->count('id');
//==========================================================================================================
//定位查询 getN是一个很好 很灵活的 获取查询结果中部分值的方法 主要其使是 0 可以和limit 互通
//$list=$mo->getN(-5);
//$list=$mo->where('id=11')->Last();
//==========================================================================================================
//动态查询 动态查询 简单也更快速
// 一.getBy动态查询 一直快速查询对应字段值 的单条数据的利器
//$list=$mo->getByname(nnn);
//$list=$mo->getByid('3');
//二. getFieldBy 针对某个字段的值 获取单条数据的单个信息
//$list=$mo->getFieldByid('2','name');
//三. top动态查询 top动态查询和limit能互换 !!!!!!!!此处很奇怪 5要加在括号前面!!!!!!!!
//$list=$mo->top5();
//$list=$mo->where($condition)->select();
dump($list);
}
}
- Thinkphp 查询条件 and 和 or同时使用即复合查询
thinkphp 3.2快捷查询OR查询&分割表示AND查询讲解 快捷查询方式是一种多字段查询的简化写法,可以进一步简化查询条件的写法,在多个字段之间用|分割表 ...
- 【重点】Shell入门教程:流程控制(2)条件判断的写法
第三节:条件判断的写法 if条件判断中,if的语法结构中的“条件判断”可以有多种形式.测试结果是真是假,就看其传回的值是否为0. 条件测试的写法,有以下10种: 1.执行某个命令的结果 这里的命令,可 ...
- python最简洁的条件判断语句写法
这篇文章主要介绍了Python返回真假值(True or False)小技巧,本文探讨的是最简洁的条件判断语句写法,本文给出了两种简洁写法,需要的朋友可以参考下 如下一段代码: def isLen(s ...
- thinkphp 带条件分页查询
thinkphp 带条件分页查询:form表单传值时候,method='get'. 用 get 传值
- asp.net 连接字符串的多种写法
一.使用OleDbConnection对象连接OLE DB数据源 1.连接Access 数据库 Access 2000: “provider=Microsoft.Jet.Oledb.3.5;Data ...
- ThinkPHP Where 条件中使用表达式
本文转自:这里 Where 条件表达式格式为: $map['字段名'] = array('表达式', '操作条件'); 其中 $map 是一个普通的数组变量,可以根据自己需求而命名.上述格式中的表达式 ...
- thinkphp where条件语句整理
ThinkPHP运算符 与 SQL运算符 对照表 TP运算符 SQL运算符 例子 实际查询条件 eq = $map['id'] = array('eq',100); 等效于:$map['id'] = ...
- thinkphp where()条件查询
今天来给大家讲下查询最常用但也是最复杂的where方法,where方法也属于模型类的连贯操作方法之一,主要用于查询和操作条件的设置.where方法的用法是ThinkPHP查询语言的精髓,也是Think ...
- (转)ThinkPHP Where 条件中使用表达式
转之--http://www.cnblogs.com/martin1009/archive/2012/08/24/2653718.html Where 条件表达式格式为: $map['字段名'] = ...
随机推荐
- 执行update操作的话,就会报“Connection is read-only. Queries leading to data modification are not allowed”的异常。
我用的是 spring + springmvc + mybatis +mysql. <tx:advice id="txAdvice" transaction-manager= ...
- SQL-SERVER2008登录错误233
问题 : SQL Server2008在本地使用Windows身份验证登录或是使用SQL Server身份认证登录时报错:已成功与服务器建立连接,但是在登录过程中发生错取.(provider:共享内存 ...
- AE分级渲染
分级渲染classbreakrenderer位于carto类库中,进行分级渲染时,首先要将相应图层按照某一Field分级.可使用esrisystem类库中的iclassifyGEN类的classify ...
- C#/.Net Post获取数据流的一种简单写法
最近在弄一些第三方的平台,经常调用第三方的接口实现某些特定的功能 在实现的同时基本上都需要本地的数据经过服务器在Request到第三方的服务器中处理,再返回相应的数据结构体:json/xml 以下是我 ...
- EasyUI 1.3.1以下的组合验证
适用于EasyUI 1.3.1以下的, 1.3.2已经自带组合验证(如validType:['validator1','validator2']) $.extend($.fn.validatebox. ...
- C# 文件操作(一)
1.说明: 写入文件内容,如果文件中有内容,则进行追加,目录是程序集下的目录 public static void WriteLog(string value) { try { //目录是程序集下的D ...
- NFinal学习笔记 02—NFinalBuild
在学习NFinal的过程中发现在线.net编译器Web版—— NFinalBuild 什么是NFinalBuild呢?它就是帮助我们简单又快速的更新我们网站的一种编译器,我们不用再只为了更新.net网 ...
- web.cofing(新手必看)
花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. <? ...
- Transform 1
Transform字面上就是变形,改变的意思.在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix.下面我们一 ...
- Android ListView使用(非原创)
1.ListView:它以列表的形式展示具体要显示的内容,并且能够根据数据的长度自适应屏幕显示 <LinearLayout xmlns:android="http://schemas. ...