thinkphp后台查询语句的总结

    这段时间在写后台代码的时候一直在纠结于各种查询语句,之前学过sql server,可是真的用到项目里来就一头雾水了。

    学了几天,现在会了一些基本的查询啦,记录一下。

    查询id等于1的所有字段,如下

$n=M('tab');
$list=$n->where('id=1')->select()
    查询id不等于1的所有字段

$n=M('tab');
$list=$n->where('id!=1')->select();
    相似的语句还有很多,id>1,id<1,id>=1,id<=1等

    当然查询还有一写表达式如下所示:

EQ:等于
NEQ:不等于
GT:大于
LT:小于
EGT:大于等于
ELT:小于等于
    使用方法可以这样:

$n=M('tab')
$sql['id']=array('ELT','9');
$list= $n->where($sql)->select();

    意思显而易见,查询id小于等于9的所有字段。

    like 的使用也非常常见

    例如,查询Lixiao这一字段为”否“的所有字段

$n=M('tab');
$sql = Lixiao . ' like "' . 否 . '"';
$list=$n->where($sql)->select(); 

   

    用like实现模糊查询很方便,省了很多麻烦

    例如查询tab表中姓张的用户的所有字段

$n=M('tab');
$sql = "Name like '张%'";
$list=$n->where($sql)->select;

      

    再比如,查询地点中包含成都的所有字段

$n=M('tab');
$sql = "Place like '%成都%'";
$list=$n->where($sql)->select();


    有时候查询需要满足多个条件,可以使用and 或者or来实现

    如下:

$n=M('tab');
$sql = " Name like '张%' and Place like '%成都%'";
$list=$n->where($sql)->select();

    也可以使用这种方法达到同样的效果:

$n=M('tab');
$where = " Name like '张%' ";
$sql="Place like '%成都%'";
$sql.="&&$where";
$list=$n->where($sql)->select();


    如果想仅显示数据库中的n条消息,可以使用limit(n)

    n表示的就是查询的数据的条数,

(这里提一下,之前我使用的是volist中的offset="m" length="n",表示的是显示数据库中的从第m条信息开始,一共显示n条,可是这种方法是死的,如果显示的信息是动态的,这种方法就不适用了。)

    显示姓张的所有字段(仅显示三条数据)

$sql="Name like '张%'";
$list=M('tab')->where($sql)->limit(3)->select();

    还有一个东西很实用,查询最新导入数据库中的三条数据

    可以使用order(),desc是倒序,asc是顺序,当然asc是默认的

    查询数据库中的倒数三条数据(即最新插入的数据):

$list=M('tab')->order('Time desc')->limit(3)->select();


    一下脑袋短路了,现在只想到这些,以后想到再来补充吧,

    如果有不对的地方,大神们多多提点,谢谢







评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值