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); -- (一)的改进版
浙公网安备 33010602011771号