概述:
上一个博客已经把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 --修改用户密码
示例:
我们需要验证一下我们修改成功了没有,我们使用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’的用户,用我们刚才整理的命令。
执行上面两条命令,然后会返回给我们如下: