MySQL语句-DCL

DCL-介绍

  • DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库的访问权限。

DCL-管理用户

  • 1、查询用户
    • USE MYSQL;
    • SELECT * FROM USER;
  • 2、创建用户
    • CREATE USER ‘用户名’@‘主机名’ IDENTIFIED BY ‘密码’;
  • 3、修改用户密码
    • ALTER USER ‘用户名’@‘主机名’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;
  • 4、删除用户
    • DROP USER ‘用户名’@‘主机名’;
-- 创建用户ITcast,只能够在当前主机localhost访问,密码123456;
CREATE USER 'ITcast'@'LOCALHOST' IDENTIFIED BY '123456';
-- 创建用户‘yyds’,可以在任意主机访问该数据库,密码123456;
CREATE USER 'YYDS'@'%' IDENTIFIED BY '123456';
-- 修改用户ITcast的访问密码7731
ALTER USER 'ITcast'@'LOCALHOST' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '7731';
-- 删除itcast@localhost用户
DROP USER 'ITcast'@'LOCALHOST';
  • 注意:
    • 主机名可以使用%通配
    • 这类SQL开发人员操作的比较少,只要是DBA(database administrator 数据库管理员)使用。

DCL-权限控制

  • MySQL中定义了很多种权限,但是常用的就以下几种
权限 说明
ALL,ALL PRIVILEGES 所有权限
SELECT 查询数据
INSERT 插入数据
UPDATE 修改数据
DELETE 删除数据
ALTER 修改表
DROP 删除数据库(表,视图)
CREATE 创建数据库(表)
  • 1、查询权限
    • SHOW GRANTS FOR ‘用户名’@‘主机’;
  • 2、授予权限
    • GRANT 权限列表 ON 数据库名 表名 TO ‘用户名’@‘主机名’;
  • 3、撤销权限
    • REVOKE 权限列表 ON 数据库名 表名 FROM ‘用户名’@‘主机名’;
-- 查询权限
SHOW GRANTS FOR 'YYDS'@'%';
-- 授予权限
GRANT ALL ON yyds.* TO 'YYDS'@'%';
GRANT ALL ON *.* TO 'YYDS'@'%'
-- 撤销权限
REVOKE ALL ON employee.*from 'YYDS'@'%';
  • 注意
    • 多个权限之间用逗号分隔
    • 授权时,数据库名和表名可以使用*进行通配,代表所有。

你可能感兴趣的:(MySQL,mysql,数据库,sql)