Medoo Where的使用

Medoo Where的使用:条件

where:在 Medoo Select的使用:查询数据 已涉及到where的使用
where一般使用在select、update、delete等语句中,在medoo里都是以参数的形式展现,并未封装为方法,下面直接开始举例讲解用法

以下以官网示例进行完整说明(部分可能经过修改)
例一:
[php] view plain copy
database>select(account,username,array(email=>foo@bar.com));where[sql]viewplaincopyWHEREemail=foo@bar.com[php]viewplaincopy database->select(“account”, “user_name”, array(
“user_id” => 200
));
以上为普通的查询语句,where条件处等同于:
[sql] view plain copy
WHERE user_id = 200
即数组的键为字段名称,值为字段值
例三:
[php] view plain copy
database>select(account,username,array(userid[>=]=>200));where[sql]viewplaincopyWHEREuserid>=200[>=]join[]LEFTJOINRIGHTJOINwhere[]>=<=![][php]viewplaincopy database->select(“account”, “user_name”, array(
“user_id[!]” => 200
));
以上where条件等同于:
[sql] view plain copy
WHERE user_id != 200
即数组的键为字段,键中的中括号包含的为比较运算符:!,数组的值为200
例五:
[php] view plain copy
$database->select(“account”, “user_name”,array(
“age[<>]” => [200, 500]
));
以上where条件等同于:
[sql] view plain copy
WHERE age BETWEEN 200 AND 500
<>不为“!=”,应为between,这种符号是一些旧版本SQL的写法,有的人第一反应可能以为是“!=”,这里部分是得自己死记硬背,或者根据源码来查看

最后三种比较实用的
1、OR:(中间带了in的写法)
[php] view plain copy
$database->select(“account”, “user_name”, array(
“OR” => array(
“user_id” => array(2, 123, 234, 54),
“email” => array(“[email protected]”, “[email protected]”, “[email protected]”)
)
));
同样为数组封装,只是这里开始用到了二维数组,“AND”和“OR”的方法是一样的,它们的查询条件都用一个二维数组进行封装
而一个数组中存在多个值,程序会将它认定成为in中的值,以上where条件等同于:
[sql] view plain copy
WHERE user_id IN (2,123,234,54) OR email IN (‘[email protected]’,’[email protected]’,’[email protected]’)

2、AND:(和OR用法一样)
[php] view plain copy
$database->select(“account”, “user_name”, array(
“AND” => array(
“user_name[!]” => “foo”,
“user_id[!]” => 1024,
“email[!]” => array(“[email protected]”, “[email protected]”, “[email protected]”),
“city[!]” => null
)
));
以上where条件等同于:
[sql] view plain copy
WHERE user_name != ‘foo’ AND user_id != 1024 AND email NOT IN (‘[email protected]’,’[email protected]’,’[email protected]’) AND city IS NOT NULL
AND和OR都是用二维数组来进行包装,如果要将AND和OR一起使用,那就将他们封装进同一个二维数组即可,怎么灵活运用看个人的理解和功底了,实在不行,就执行一整条SQL好了,Medoo里有这个方法,或者在这个里面找找http://blog.csdn.net/didphp

3、嵌套查询:(内嵌SQL)
[php] view plain copy
database>select(account,username,array(userid=> database->select(“post”, “user_id”, array(“comments[>]” => 40))
));

猜你喜欢

转载自blog.csdn.net/zhouyuqi1/article/details/78847515