【数据查询】

select()是数据模型的一个指定方法,可以获得数据表的数据信息

返回一个二维数组信息,当前数据表的全部数据信息

$obj = D();  创建对象

$obj -> select();  查询数据

select  字段,字段  from  表名  where 条件  group 字段 having  条件   order 排序  limit 限制条数;

SELECT%DISTINCT%%FIELD%FROM %TABLE%%JOIN%%WHERE%%GROUP%%HAVING%%ORDER%%LIMIT% %UNION%%COMMENT%

$obj -> field(字段,字段);  查询指定字段

$obj -> table(数据表);   设置具体操作数据表

$obj -> where(参数);   参数就是正常sql语句where后边的条件信息

例如:( “goods_price >100 and  goods_name like ‘三%’”)

$obj -> group(字段);  根据字段进行分组查询

$obj -> having(参数条件);  having 条件设置

$obj -> order(‘price  desc/asc’)  排序查询

$obj -> limit([偏移量,]条数)  限制查询的条数

sql语句里边具体的条件设置在tp框架model模型里边体现为具体的方法操作

以上方法理论上是父类Model的对应方法

父类model具体存在方法:   field()  where()   limit()

还有一些方法在__call()自动调用函数里边: table()  group()  order()  having()

在__call()魔术方法里边会判断当前的执行方法是否是一个method属性的元素信息,如果存在就会执行执行

以上多个方法是同时使用多个进行条件显示(并且没有顺序要求)但select() 要放到最后

$obj -> limit(5)->field(‘id,name’)->order(‘price asc’) -> table(‘sw_goods’)->select();

以上许多方法执行没有顺序要求,许多方法执行后都是把具体的参数赋予到model属性options里边,最后根据options拼装sql语句。

$info = $goods -> where()->field(字段)->select();

select()方法

1. 返回一个二维数组信息

2. 返回全部数据表信息

3. 给该方法传递参数

a) select(30)  查询主键值等于30的记录信息

b) select(“10,12,14”)  查询主键值在10、12、14范围的记录信息

4.  find()如果我们查询的结果只有一个信息,使用select()会返回一个二维数组

为了使用方便我们会希望返回一个一维数组,这时候可使用find()方法

5.  having()方法设置查询条件,where()设置查询条件

6. 相关聚合函数 count()  sum()   avg()   max()   min()

以上聚合函数是最后被调用的方法

以上方法可以结合具体条件方法使用

例如:$goods -> where(‘goods_price >1000’)->count(); 大于1000元的商品的总数目

TP数据查询的更多相关文章

  1. Tp框架查询分页显示与全部查询出来显示运行时间快慢有区别吗?

    8:08:01 青春阳光 2017/4/7 8:08:01 大神在吗? Tp框架查询分页显示与全部查询出来显示运行时间快慢有区别吗? 青春阳光 2017/4/7 8:08:20 还有个问题,上传到pu ...

  2. 2016/05/10 thinkphp 3.2.2 ①系统常量信息 ②跨控制器调用 ③连接数据库配置及Model数据模型层 ④数据查询

    [系统常量信息] 获取系统常量信息: 如果加参数true,会分组显示: 显示如下: [跨控制器调用] 一个控制器在执行的时候,可以实例化另外一个控制,并通过对象访问其指定方法. 跨控制器调用可以节省我 ...

  3. Django models .all .values .values_list 几种数据查询结果的对比

    Django models .all .values .values_list 几种数据查询结果的对比

  4. MVC实用架构设计(三)——EF-Code First(4):数据查询

    前言 首先对大家表示抱歉,这个系列已经将近一个月没有更新了,相信大家等本篇更新都等得快失望了.实在没办法,由于本人水平有限,写篇博客基本上要大半天的时间,最近实在是抽不出这么长段的空闲时间来写.另外也 ...

  5. 关系数据库SQL之高级数据查询:去重复、组合查询、连接查询、虚拟表

    前言 接上一篇关系数据库SQL之基本数据查询:子查询.分组查询.模糊查询,主要是关系型数据库基本数据查询.包括子查询.分组查询.聚合函数查询.模糊查询,本文是介绍一下关系型数据库几种高级数据查询SQL ...

  6. SharePoint服务器端对象模型 之 使用CAML进展数据查询

    SharePoint服务器端对象模型 之 使用CAML进行数据查询 一.概述 在SharePoint的开发应用中,查询是非常常用的一种手段,根据某些筛选.排序条件,获得某个列表或者某一些列表中相应的列 ...

  7. .NET应用架构设计—面向查询服务的参数化查询设计(分解业务点,单独配置各自的数据查询契约)

    阅读目录: 1.背景介绍 2.对业务功能点进行逻辑划分(如:A.B.C分别三个业务点) 2.1.配置映射关系,对业务点配置查询契约(构造VS插件方便生成查询契约) 2.2.将配置好的映射策略文件放在调 ...

  8. Yii2 数据查询

    转载来自: http://www.yiichina.com/tutorial/95 数据查询 User::find()->all(); 此方法返回所有数据: User::findOne($id) ...

  9. 6、SQL Server 数据查询

    一.使用SELECT检索数据 数据查询是SQL语言的中心内容,SELECT 语句的作用是让数据库服务器根据客户要求检索出所需要的信息资料,并按照规定的格式进行整理,返回给客户端. SELECT 语句的 ...

随机推荐

  1. requireJS目录

    前言 对于像我这种requireJS初学者而言,requireJS最难理解的部分应该是它的路径问题.晚上随便折腾了一下,算是稍微理清了这个目录问题吧. requireJS学习网址:requireJS中 ...

  2. 转:EMQTT测试--安装与测试 (windows)

    官网 我下载的是windows版 安装 参考 http://emqtt.com/docs/install.html 将下载的压缩包解压,我解压到了D盘 命令行窗口,cd到程序目录 控制台模式启动: . ...

  3. win10 环境下 MinGW-w64安装

    MinGW-w64 就是 著名C/C++编译器GCC的Windows版本. 一.什么是 MinGW-w64 ?MinGW 的全称是:Minimalist GNU on Windows .它实际上是将经 ...

  4. Atitit. visual studio vs2003 vs2005 vs2008  VS2010 vs2012 vs2015新特性 新功能.doc

    Atitit. visual studio vs2003 vs2005 vs2008  VS2010 vs2012 vs2015新特性 新功能.doc 1.1. Visual Studio2 1.2. ...

  5. oracle的一些问题

    好久时间没有用oracle,这次因为有个项目的需要,又重新温习了一下oracle. 我使用的oracle的版本是windows oracle 11g_R2. 首先先说一下安装.这个没有太大的问题,主要 ...

  6. python-扫描某一网段下的ip

    #!/usr/bin/env python #-*- coding:utf-8 -*- ############################ #File Name: ipscaner.py #Au ...

  7. ECMAScript运算符

    一元运算符 delete value 删除元素的值 void() 这个经常被使用,用来转换函数的返回值为undefined,这样就不会将返回值输出到屏幕了! 如下: <a href=" ...

  8. spring boot中 使用http请求

    因为项目需求,需要两个系统之间进行通信,经过一番调研,决定使用http请求. 服务端没有什么好说的,本来就是使用web 页面进行访问的,所以spring boot启动后,controller层的接口就 ...

  9. iOS大文件分片上传和断点续传

    总结一下大文件分片上传和断点续传的问题.因为文件过大(比如1G以上),必须要考虑上传过程网络中断的情况.http的网络请求中本身就已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件 ...

  10. Java并发编程(二)为什么需要多线程

    如果不考虑多线程的话,那么在程序只有一条执行路径,代码串行执行:顺序执行.选择或者循环.单线程就像你用你惯常的手去写字,多线程编程就要求你左手画圆,右手画方.一不留神就会手忙脚乱,圆不是圆,方也不像方 ...