日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

ThinkPHP(3)SQL查询语句

發(fā)布時(shí)間:2025/3/13 php 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ThinkPHP(3)SQL查询语句 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ThinkPHP中對(duì)查詢語(yǔ)句,包含了基本的查詢方式、表達(dá)方式、快速查詢、區(qū)間查詢、組合查詢、SQL查詢、動(dòng)態(tài)查詢和子查詢。

一、查詢方式

ThinkPHP提供了三種基本的查詢方式:字符串條件查詢、索引數(shù)組條件查詢和對(duì)象條件查詢。在大多情況下,推薦使用索引數(shù)組和對(duì)象方式作為查詢條件,因?yàn)闀?huì)更安全。

1.使用字符串作為條件查詢

$user = M('user');

var_dump($user->where('id=1 AND user="姓名"')->select());

//最終生成的SQL語(yǔ)句

select * from 'user' where (id=1 AND user="姓名")

注意:where查詢方法里面只要包含條件即可,多個(gè)條件加上AND等連接符即可。

2.使用索引數(shù)組作為查詢條件

$user = M('user'); $condition['id'] = 1; $condition['user'] = 'name'; var_dump($user->where($condition)->select()); //最終生成的SQL語(yǔ)句 select * from 'user' where ('id'=1)AND('user' = 'name')

注意:索引數(shù)組查詢的邏輯關(guān)系是AND,如果想改變?yōu)镺R,可以使用_logic定義查詢邏輯

基于上面的代碼增加如下一行:

$condition['_logic'] = 'OR'; //將默認(rèn)AND改成OR

3.使用對(duì)象方式來(lái)查詢

$user = M('user'); $condition = new \stdClass(); $condition->id = 1; $condition->user = 'name'; var_dump($user->where($condition)->select()); //最終生成的SQL語(yǔ)句 select * from user where ('id' = 1) AND ('user' = 'name')

注意:stdClass類是php內(nèi)置的類,可以理解為一個(gè)空類,在這里可以理解為把條件的字段作為成員保存到stdClass類里。而這里的'\'是將命名空間設(shè)置為根目錄,否則會(huì)導(dǎo)致當(dāng)前目錄找不到此類。使用對(duì)象和數(shù)組查詢,效果是一樣的,可以互換。在大多數(shù)情況下,ThinPHP推薦使用數(shù)組形式更高效。

二、表達(dá)式查詢

對(duì)于那些要實(shí)現(xiàn)模糊判斷的查詢,比如大于、等于、小于之類的SQL查詢,可以使用表達(dá)式查詢方式。查詢表達(dá)式格式:$map['字段名'] = array('表達(dá)式','查詢條件');

注意:表達(dá)式不區(qū)分大小寫。

//EQ:等于(=)

$map['id'] = array('eq',1); ? //where為id=1

//NEQ:不等于(<>)

$map['id'] = array('neq',1); ? //where為id<>1

//GT:大于(>)

$map['id'] = array('gt',1); ? //where為id>1

//EGT:大于等于(>=)

$map['id'] = array('egt',1); ? //where為id>=1

//LT:小于(<)

$map['id'] = array('lt',1); ? //where為id<1

//ELT:小于等于(<=)

$map['id'] = array('elt',1); ? //where為id<=1

//[NOT]LIKE:模糊查詢

$map['user'] = array('like','%小%'); ? //where為like %小%

//[NOT]LIKE:模糊查詢的數(shù)組方式

$map['user'] = array('like',array('%小%','%大%'),'AND');

//生成的SQL

select * from 'user' where (('name' like '%小%' AND 'name' like '%大%'));

?

轉(zhuǎn)載于:https://www.cnblogs.com/sjxx/p/5626516.html

總結(jié)

以上是生活随笔為你收集整理的ThinkPHP(3)SQL查询语句的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。