数据控制语言(DCL)语法合集
生活随笔
收集整理的这篇文章主要介绍了
数据控制语言(DCL)语法合集
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
目录
- 用户的创建、删除、查询和改密
- 授权:授予与回收
- 数据库角色
- 上述语句实战
用户的创建、删除、查询和改密
创建用户
语法格式: create user '用户名'@ '允许登录的位置' identified by '密码';例:创建一个U1用户本地登录,用户的密码是123 create user 'U1'@ 'localhost' identified by '123';此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。 如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。删除用户
语法格式: drop user '用户名'@'允许登录的位置';查询所有用户
select user,host from mysql.user;查看用户的权限
show grants for 用户名;更改用户密码
--方法1,密码实时更新 set password for 用户名 =password('密码'); --方法2,需要刷新 update mysql.user set password=password('密码') where user='用户名' flush privileges; # 刷新授权:授予与回收
授予权限
语法格式: grant <权限>[,<权限>].... on<对象类型><对象名>[,<对象类型><对象名>]... to<用户>[,<用户>]... [with grant option];如果指定了with grant option子句, 则获得某种权限的用户还可以把这种权限再授予其他的用户。 如果没有指定with grant option子句,则获得某种权限的用户只能使用该权限,不能传播该权限。 SQL标准允许具有with grant option的用户把相应权限或其子集传递授予其他用户, 但不允许循环授权,即被授权者不能把权限再授回给授权者或其祖先。回收权限
revoke <权限>[,<权限>].... on <对象类型> <对象名>[,<对象类型> <对象名].... from <用户>[,<用户>].........[cascade | restrict];数据库角色
数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。
因此,可以为一组具有相同权限的用户创建创建一个角色,使用角色来管理数据库权限可以简化授权的过程。
创建角色
创建角色的语法格式: create role <角色名>给角色授权
语法格式: grant <权限> [,<权限>]..... to <对象类型> 对象名 to <角色>[,<角色>].......将一个角色授予其他的角色或用户
语法格式: grant <角色1>[,[角色2]]..... to <角色3>[,<用户>]...... [with admin option]角色权限的收回
语法格式: revoke <权限>[,<权限>]...... on <对象类型><对象名> from<角色>[,<角色>].......用户可以收回角色的权限,从而修改角色的权限。上述语句实战
创建一个用户名为hui 密码为 123 的本地用户 创建一个用户名为xiao 密码为 123 登录位置省略的用户目的: 查看用户创建语句默认的登录方式是什么?
由上述图片你会发现,当我们创建一个用户如果省略登录位置,
则默认表示在任何一台电脑上都可以登录。
出现上述报错是因为没有指明该用户的登录方式。
如果是任意的登录方式就不用指明用户的登录方式。
如下图所示:
总结
以上是生活随笔为你收集整理的数据控制语言(DCL)语法合集的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 数据库视图的概念和相关操作合集
- 下一篇: 用漫画的方式理解共享锁和排他锁