MySQL 整理学习(基础篇四)

        概述:

        上一个博客已经把mysql的DQL语句整理结束,同时也把字段名的执行顺序也给大家整理完成,那么接下来我将给大家整理出来mysql关于DCL的语句。

        数据控制语言 -- DCL

        关于DCL的介绍,DCL(Data Control language)数据控制语言是用来管理数据库用户、控制数据库的访问权限。

        1、DCL --查询用户

        由于mysql库中默认是把用户信息是储存在mysql库中,所以我们需要先访问mysql库再去查询用户信息。

        use mysql;
        select * from user;

        可以直接复制这两个命令直接到terminal或者DataGrip都可以运行可以看到mysql中用户的信息:

        大家可以看到我这里存在三个用户,这里解释一下,Host表示主机名,‘localhost’是代表本地主机,User表示用户,后面的字段名是表示各个的权限,后面我一会会整理出来。

        2、DCL --创建用户

语法:

        create user  '用户名'@‘主机名’  identified by '密码';

示例:

        我创建一个本地主机名为king的用户

​​​​​​​

        将上面这条命令执行,查看返回的结果:​​​​​​​

        可以看到我的用户里面多了一个名为king的用户。

        我们还可以建立一个不是localhost主机的用户我们可以用“%”来表示,代表任何主机都可以通过远程登录访问数据库。

create user 'king2'@'%'  identified by 'king123';

        这里就不再进行远程登录演示了,需要的话后期我会单独写一期关于远程登录数据库的方法的。

        可以看到多了一个king2的用户主机是%。

        3、DCL --修改用户密码

语法:
        alter usr    '用户名'@'主机名'   identfied with my_native_passsword   by   '新密码';
注意:这里的命令不适用于所有版本,如是是旧版本的话,可以用下面这条的命令:
        alter  user  '用户名'@'主机名'  identfied  by  '密码';
示例:
        刚刚设置的king用户名的密码是  ’123456‘  我现在把他修改为  ‘king123’,命令如下:
        

        我们需要验证一下我们修改成功了没有,我们使用terminal(终端)来验证一下:

        我们在命令行输入上面命令,执行会让你输入密码,我输入“king123”回车,进入mysql中。验证成功。

        4、DCL --删除用户

语法:        

        drop  user  '用户名'@‘主机名’ ;

示例:

        我们刚刚创建的“king”跟“king2”两个用户删掉

        ​​​​​​​注意:主机名可以使用%进行通配。

            这类SQL语句对于开发人员操作的比较少,主要是DBA(Database Administrator)数据库管理员使用较多。

        5、DCL --权限控制

        关于mysql中定义了很多权限,但是我们常用的应该就是以下几种权限。

        权限                                                                        说明

        all   ,   all privileges                                                所有权限

        select                                                                      查询数据权限

        insert                                                                       插入数据权限

        update                                                                     修改数据权限

        delete                                                                      删除数据权限

        alter                                                                         修改表权限

        drop                                                                         删除数据库/表/视图权限

        create                                                                      创建数据库/表权限

        ·1  查询用户具有的权限

语法:

        show    grants   for    '用户名'@‘主机名’;

示例:

        我们再创建一个‘king’的用户,用我们刚才整理的命令。

        执行上面两条命令,然后会返回给我们如下:

        这是代表king用户对所有表不具有任何权限。
        我们可以通过terminal来验证一下:
        其中 Access denied 是访问失败,因为我们权限不够,所以接下来我们要提权。

        ·2  授予权限

语法:
        grant    权限列表   on   数据库名.表名   to   '用户名'@'主机名';
示例:
        
        我们将用户‘king’把查询权限赋给它
        我们接下来查询king用户的权限得到:
        
        可以看到多了一个对king数据库的所有表的查询权限。其他权限赋予都一样,大家可以自行
尝试一下。这里就不再演示了。

        ·3  撤销权限

语法:
        revoke   权限列表  on  数据库.表名   from   '用户名'@'主机名';
示例:
        我们将刚刚对king赋予的查询权限给撤销掉。
        
        运行以上指令,然后再查询king用户的权限:
        
        我们会发现king用户中select权限已经没有了。
        注意:在赋予权限和撤销权限命令中,权限列表可以进行多个权限同时执行,但是多个权限
之间需要用逗号隔开。
         
            授权时,数据库名和表名可以使用通配符*进行通配。

总结:

        以上我算是把mysql中DCL语句基础整理结束了,大家也可以跟着去练习一下,有需要补
充的大家可以回复到评论区中,我会再进行更改。顺便再提一句,我也是刚刚加入到csdn中,有
什么不足大家多多指正,感谢大家🙏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值