SQL分类中的DCL

一、简介

DCL(Data Control Language):数据控制语言,用来创建数据库用户、控制数据库的访问权限

DCL主要包含两方面的操作,

  • 用户管理(控制哪些用户能访问数据库
  • 权限控制(控制用户能访问哪些数据库

二、用户管理

1、查询用户

这个操作用来查看数据库中含有哪些用户,以及用户具有的权限。

使用两条命令进行查询:

use mysql;-- 因为用户是管理在MySql数据库中的user表中,所以首先要进入到MySql数据库中
select * from user;-- 其次查询user表

2、创建用户

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

3、修改用户密码

alter  user  ‘用户名’@‘主机名’  identified with mysql_native_password  by '新密码';

4、删除用户

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

举例:

-- 创建用户ItHigh,只能够在当前主机localhost访问,密码123456;
CREATE USER 'ItHigh'@'LOCALHOST' IDENTIFIED BY '123456';

-- 创建用户‘yyds’,可以在任意主机访问该数据库,密码123456;
CREATE USER 'YYDS'@'%' IDENTIFIED BY '123456';

-- 修改用户ItHigh的访问密码1234
ALTER USER 'ItHigh'@'LOCALHOST' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '1234';

-- 删除itcast@localhost用户
DROP USER 'ItHigh'@'LOCALHOST';

三、权限控制

常用的几种权限:

权限

说明

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'@'%';

注意:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值