thinkphp sql连惯操作

  这里使用字符串形式 与关键字冲突的风险 SELECT * FROM `weibo_user` WHERE ( id>1 ) ORDER BY id DESC LIMIT 2  var_dump($user->where(‘id>1‘)->order(‘id DESC‘)->limit(2)->select());  数组形式 避免了关键字冲突 SELECT * FROM `weibo_user` WHERE `id` = ‘1‘ ORDER BY `create` DESC LIMIT 2  var_dump($user->where(array(‘id‘=>array(‘eq‘,‘1‘)))->order(array(‘create‘=>‘DESC‘))->limit(2)->select());    CURD 操作  显示一条数据 SELECT * FROM `weibo_user` WHERE ( id in (1,2,3) ) LIMIT 1  var_dump($user->where(‘id in (1,2,3)‘)->find());  删除一条数据 DELETE FROM `weibo_user` WHERE ( id=42 )  $user->where(‘id=42‘)->delete();  条件查询 SELECT * FROM `weibo_user` WHERE `id` = 1 AND ( username="蜡笔小新" )  多个where使用时 尽量使用变量形式,否则为引起冲突  $map[‘id‘]=1;  var_dump($user->where($map)->where(‘username="蜡笔小新"‘)->select());字符串形式排序SELECT * FROM `weibo_user` ORDER BY id DESC  var_dump($user->order(‘id DESC‘)->select());数组形式排序 SELECT * FROM `weibo_user` ORDER BY `id` DESC  var_dump($user->order(array(‘id‘=>‘DESC‘))->select());多列字符串形式排序 SELECT * FROM `weibo_user` ORDER BY id DESC,email DESC  var_dump($user->order(‘id DESC,email DESC‘)->select());  多列数组形式排序 SELECT * FROM `weibo_user` ORDER BY `id` DESC,`email` DESC  var_dump($user->order(array(‘id‘=>‘DESC‘,‘email‘=>‘DESC‘))->select());  字段投影      SELECT `id`,`username` FROM `weibo_user`  dump($user->field(‘id,username‘)->select());  字段投影      SELECT sum(id) AS count FROM `weibo_user`  将字段名称 作为别名处理  dump($user->field(‘sum(id) AS count‘)->select());  字段投影  截取前3位字符,并作别名处理SELECT `id`,LEFT(username,3) AS `left_username` FROM `weibo_user`  dump($user->field(array(‘id‘,‘LEFT(username,3)‘=>‘left_username‘))->select());获取所有字段 field() 和 field(‘*‘)和效果相同  dump($user->field(‘*‘)->select())     ;写入操作  $user->field(‘id,email‘)->create();  limit SELECT * FROM `weibo_user` LIMIT 2  dump($user->limit(2)->select());  SELECT * FROM `weibo_user` LIMIT 2,3  dump($user->limit(2,3)->select());  page SELECT * FROM `weibo_user` LIMIT 4(页码数据),2(显示条数)  dump($user->page(3,2)->select());  table 表切换 SELECT * FROM `weibo_topic`  dump($user->table(‘weibo_topic‘)->select());  简化表名   SELECT * FROM `weibo_topic` __TOPIC__ => ‘weibo_topic‘  dump($user->table(‘__TOPIC__‘)->select());  多表查询  SELECT * FROM weibo_user a,weibo_topic b  dump($user->table(‘__USER__ a,__TOPIC__ b‘)->select());  数组形式多表查询避免关键字冲突 SELECT a.id,b.id FROM `weibo_user` `a`,`weibo_topic` `b`   dump($user->field(‘a.id,b.id‘)->table(array(‘weibo_user‘=>‘a‘,‘weibo_topic‘=>‘b‘))->select());
时间: 2025-01-04 15:53:06

thinkphp sql连惯操作的相关文章

[SQLServer]学习总结笔记(基本涵盖Sql的所有操作)

--################################################################################### /* 缩写: DDL(Database Definition Language): 数据库定义语言 DML(Database Manipulation Language): 数据库操作语言 DCL(Database Control Language): 数据库控制语言 DTM(Database Trasaction Manag

Thinkphp入门 二 —空操作、空模块、模块分组、前置操作、后置操作、跨模块调用(46)

原文:Thinkphp入门 二 -空操作.空模块.模块分组.前置操作.后置操作.跨模块调用(46) [空操作处理] 看下列图: 实际情况:我们的User控制器没有hello()这个方法 一个对象去访问这个类不存在的方法,那么它会去访问”魔术方法__call()” 用户访问一个不存在的操作—>解决:给每个控制器都定义个_empty()方法来处理 第二个解决方法:定义一个空操作 [空模块处理] 我们使用一个类,但是现在这个类还没有被include进来. 我们可以通过自动加载机制处理__autoloa

sas中的sql(5) 纵向操作数据集 Except、Intersect、Union、OuterJoin

SQL进行纵向操作的基本语法 proc sql; select * from table1 set-operator <all> <corr> select * from table2 set-operator <all> <corr> select * from table3; 1:几种set操作符 Except.Intersect.Union.OuterJoin Except.Intersect.Union三种set符号是默认进行unique处理,当进行

SQL SERVER 时间相关操作笔记

1.DATEADD函数: A.  MSDN上的示例:http://msdn.microsoft.com/zh-cn/library/ms186819%28v=sql.90%29.aspx B. SQL2005上的示例 1 ----定义变量 2 DECLARE @start DATETIME,@end DATETIME 3 SET @start='2014-01-01' 4 SET @end='2014-06-16' 5 6 ---- 计算月份 7 SELECT DATEADD(YEAR,-6,@

sql/plus 常用操作

一.sys用户和system用户Oracle安装会自动的生成sys用户和system用户(1).sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install(2).system用户是管理操作员,权限也很大.具有sysoper角色,没有create database的权限,默认的密码是manager(3).一般讲,对数据库维护,使用system用户登录就可以拉注意:也就是说sys和system这两个用户最大的

ThinkPHP框架模型连贯操作(八)

原文:ThinkPHP框架模型连贯操作(八) Thinkphp的连贯操作使用起来也是很灵活: *可能这里有的mysql函数没全部罗列出来,大家可以举一反三,形式雷同 一.常用连贯操作 1.where 帮助我们设置查询条件 2.order 对结果进行排序 $arr=$m->order('id desc')->select(); $arr=$m->order(array('id'=>'desc','sex'=>'asc'))->select(); 多个字段排序 //数组形式

VS2010连接SQL Server 2008操作与编程 (笔记)

实现VS2010连接SQL Server 2008操作与编程,主要记录的是一个学习的过程. 实现VS2010连接SQL Server 2008:逗逗飞的专栏 实现VS2010连接SQL Server 2008代码:点击打开链接 ADO的三个指针: _ConnectionPtr:用于建立数据库的连接. _RecordsetPtr:它是专门为通过记录集操作数据库而设立的指针,通过该接口可以对数据库的表内的记录.字段等进行各种操作. _CommandPtr:提交的sql查询字符串指针 目的:连接数据库

SQL数据库简单操作

sql语言简介 (1)数据库是文件系统,使用标准sql对数据库进行操作 * 标准sql,在mysql里面使用语句,在oracle.db2都可以使用这个语句 (2)什么是sql * Structured Query Language, 结构化查询语言,对数据库进行操作 * sql非过程性语言,不需要依赖于其他的条件就可以运行 ** 比如 在java里面 *** if(a > 5) { System.out..... } (3)sql的分类 第一类:DDL (数据定义语言) * 创建数据库,创建数据

巧用C# Split()函数获取SQL语句中操作字段

这是前天工作时要求的,将SQL语句的操作字段获取出来挂在树节点上,感觉这个函数以后还有可能会用到,特此总结一下,函数中没有实现Select *的操作,只要添加判断条件即可. 工具函数:Split()函数:通过字符分割字符串为一个string类型的一维数组. String.Split 方法有6个重载函数: 1) public string[] Split(params char[] separator)        返回的字符串数组包含此实例中的子字符串 2) public string[] S