SQL
- 用户管理
- HAVING和WHERE的区别
用户管理
-- 创建用户
-- 在"localhost"上创建一个名为"smiling"的新用户,密码是"smilingps"
CREATE USER 'smiling'@'localhost' IDENTIFIED BY 'smilingps';
-- 给用户授权
-- 在localhost上给"smiling"用户赋予ry-vue数据库中sys_role表的SELECT,INSERT和DELETE权限。
GRANT SELECT,INSERT,DELETE ON ry-vue.sys_role TO 'smiling'@'localhost';
-- 撤销授权
-- 在localhost上撤销"smiling"用户对ry-vue数据库中sys_role表的INSERT权限
REVOKE INSERT ON `ry-vue`.sys_role FROM 'smiling'@'localhost';
-- 查看用户权限
-- 显示"localhost"上"smiling"用户的所有权限
SHOW GRANTS FOR 'smiling'@'localhost';
-- 删除用户
-- 删除"localhost"上名为"username"的用户
DROP USER 'smiling'@'localhost';
-- 修改用户密码(以root身份)
-- 修改在"localhost"上smiling用户的密码为"newpassword"
ALTER USER 'smiling'@'localhost' IDENTIFIED BY 'newpassword'
HAVING和WHERE的区别
HAVING和WHERE都可以用来过滤数据,且HAVING支持WHERE关键字中所有的操作符和语法。
但是HAVING和WHERE也存在以下几点差异:
1、WHERE常用于过滤数据行,HAVING用于过滤分组;
2、WHERE查询条件中不可以使用聚合韩式,而HAVING查询条件中可以使用聚合函数;
3、WHERE在数据分组前进行过滤,而HAVING在数据分组后进行过滤;
4、WHERE针对数据库文件进行过滤,HAVING针对查询结果进行过滤。也就是说WHERE根据数据表中的字段进行过滤,而HAVING是根据前面已经查询出的字段进行过滤;
5、WHERE查询条件中不可以使用字段别名,而HAVING查询条件中可以使用字段别名