美文网首页MySQL
MySQL基础——DCL语句

MySQL基础——DCL语句

作者: 白巧克力LIN | 来源:发表于2022-06-13 21:31 被阅读0次

    上篇文章学习了MySQL基础——DQL语句,这篇文章学习MySQL基础——DCL语句。

    DCL语句

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

    管理用户

    查询

    查询用户代码如下:

    USE mysql;
    SELECT * FROM user;
    

    在系统中,MySQL用户信息默认存储在mysql数据库中的user表中,所以只需要查询mysql数据库中的user表即可。

    如下图所示: 这样看不够直观,这里我们在navicat中查看,如下图所示:

    创建

    创建用户语法格式如下:

    CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
    

    注意:当我们希望任意主机都能访问MySQL,只需要把主机名的值写为%即可。

    示例代码如下:

    CREATE USER 'myuser'@'localhost' IDENTIFIED BY '123456';        #创建名为myuser的用户
    
    如下图所示:

    注意:这样创建的用户只有登录MySQL的权限,没有操作数据库的权限。

    修改

    修改用户密码语法格式如下:

    ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';
    

    示例代码如下:

    ALTER USER 'myuser'@'localhost' IDENTIFIED WITH mysql_native_password BY '123'  #修改用户密码
    
    如下图所示:

    删除

    删除用户语法格式如下:

    DROP USER '用户名'@'主机名';
    

    示例代码如下:

    DROP USER 'myuser'@'localhost';                 #删除用户
    

    权限控制

    在MySQL中常用的权限有以下几种:

    权限 说明
    ALL,ALL PRIVILEGES 所有权限
    SELECT 查询数据
    INSERT 插入数据
    UPDATE 修改数据
    DELETE 删除数据
    ALTER 修改表
    DROP 删除数据库/表/视图
    CREATE 创建数据库/表

    注意:

    • 多个权限之间,使用逗号分隔;
    • 授权时,数据库名和表名可以使用*进行通配,代表所有。

    查询权限

    查询权限语法格式如下:

    SHOW GRANTS FOR '用户名'@'主机名';
    

    示例代码如下:

    SHOW GRANTS FOR 'myuser'@'localhost';           #查看用户权限
    

    如下图所示:



    这里myuser用户只有登录MySQL权限。

    授予权限

    授予权限语法格式如下:

    GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
    

    示例代码如下:

    GRANT ALL ON mytest.students TO 'myuser'@'localhost';  #给用户myuser授予mytest数据库中的students数据表全部权限
    SHOW GRANTS FOR 'myuser'@'localhost';               #查询用户权限
    
    如下图所示:

    撤销权限

    撤销权限语法格式如下:

    REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
    

    示例代码如下:

    REVOKE ALL ON mytest.students FROM 'myuser'@'localhost';    #用户myuser撤销mytest数据库中的students数据表全部权限
    SHOW GRANTS FOR 'myuser'@'localhost';               #查询用户权限
    

    如下图所示:



    好了,MySQL基础——DCL语句就学到这里了,下篇文章学习MySQL基础——函数。

    相关文章

      网友评论

        本文标题:MySQL基础——DCL语句

        本文链接:https://www.haomeiwen.com/subject/pvaomrtx.html