mysql学习第二天

一、mysql找不到指定路径

 

 

 答:链接属性--关闭链接--高级--设置位置--选择Navicat的安装路径

二、给数据库表取别名

SELECT * FROM center_tenant.weixin_corp_info t WHERE t.corp_id='wwf6d6205473e35fc2';

SELECT * FROM center_tenant.weixin_corp_info as t WHERE t.corp_id="wwf6d6205473e35fc2"

如果出现编辑过程中t.后面出不来的情况,就是上面其他的语句没有加上;可以前面的sql语句给加上;,或者注释掉"-- "

三、给数据库字段取别名

1、SELECT a.id,a.corp_id FROM center_tenant.weixin_corp_info  a

 

 

 

2、SELECT corp_id as a FROM center_tenant.weixin_corp_info

 

 

 四、升序降序排列

SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC

五、where in查询

SELECT * from center_tenant.weixin_corp_info WHERE id in(53,56)

等同于:

SELECT * from center_tenant.weixin_corp_info WHERE id = 53 or id = 56

语法:

WHERE column IN (value1,value2,...)
WHERE column NOT IN (value1,value2,...)

1、in 后面是记录集,如:

select  *  from  table  where   uname  in(select  uname  from  user); 

例子:

SELECT * FROM article WHERE uid IN(SELECT uid FROM user WHERE status=0)
在这个 SQL 例子里,我们实现了查出所有状态为 0 的用户(可能是被禁止)的所有文章。首先通过一个查询得到所有所有 status=0 的用户:

2、in 后面是字符串,如:

select  *  from  table  where   uname  in('aaa',bbb','ccc','ddd','eee',ffff''); 

注意:这里一定要将字符串用单引号'' 标注起来;

3、in 后面是数组,用如下方法,请参考:

$list 是 ' 1 , 2 , 3 , 4 , 5 '

 foreach (explode(',', $list) as $value) {
       $rules=$rules."'".$value."',";
  }
 $arr = $this->db->selectAll('slim_auth_rule'," id IN (".$rules."'')",'id,title');

 

六、find_in_set()函数的使用

SELECT id,name,list from tb_test WHERE 'daodao' IN(list); -- (一)   取不到值

SELECT id,name,list from tb_test WHERE 'daodao' IN ('libk', 'zyfon', 'daodao'); -- (二)  可以取到值

原因其实是(一)中 (list) list是变量, 而(二)中 ('libk', 'zyfon', 'daodao')是常量。

find_in_set():
 
SELECT id,name,list from tb_test WHERE FIND_IN_SET('daodao',list); -- (一)的改进版

 

posted on 2019-10-23 16:19  绝世无双小笛王  阅读(82)  评论(0)    收藏  举报

导航