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'
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.

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查询条件中可以使用字段别名
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.