《SQL与数据库基础》05. SQL-DCL

本文介绍了MySQL中的DCL(DataControlLanguage)用于用户管理和权限控制的操作,包括查询用户、创建用户、修改用户密码、删除用户以及权限的查询、授予和撤销。用户通过CREATEUSER和ALTERUSER命令创建和修改用户,使用GRANT和REVOKE设置和收回对数据库和表的访问权限,如SELECT、INSERT、UPDATE等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


本文以 MySQL 为例

DCL

用户管理

查询有哪些用户
1、
USE mysql;
SELECT * FROM user;
2、
SELECT * FROM mysql.user;

注:
在 MySQL 中,用户保存在 mysql 库中的 user 表中。

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

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

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

注:
在 MySQL 中需要通过“用户名@主机名”的方式,来唯一标识一个用户。
主机名可以使用 % 通配。
DCL 主要是 DBA(Database Administrator 数据库管理员)使用。

示例:

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

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

# 修改用户xiaohong的访问密码为1234
ALTER USER 'xiaohong'@'%' IDENTIFIED WITH mysql_native_password BY '1234';

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

权限控制

查询权限
SHOW GRANTS FOR '用户名'@'主机名';

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

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

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

MySQL中定义了多种权限,常见的为以下几种:

==================================================
权限                     |    说明
--------------------------------------------------
ALL 或 ALL PRIVILEGES    |    所有权限
SELECT                   |    查询数据
INSERT                   |    插入数据
UPDATE                   |    修改数据
DELETE                   |    删除数据
ALTER                    |    修改表
DROP                     |    删除数据库/表/视图
CREATE                   |    创建数据库/表
==================================================
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值