【JavaWeb后端学习笔记】MySQL的数据控制语言(Data Control Language,DCL)

MySQL DCL

DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库访问权限。

1、管理用户

管理用户的操作都需要在MySQL自带的 mysql 数据库中进行。

sql 复制代码
-- 查询用户
-- 需要先切换到MySQL自带的 mysql 数据库。用户信息存在mysql的user表中。
use mysql; /* 切换数据库 */
select * from user; /* 查询所有用户 */
sql 复制代码
-- 创建用户
create user '用户名'@'主机名' identified by '密码'; /* localhost表示当前主机,% 表示任意主机*/
sql 复制代码
-- 修改用户密码
alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';
sql 复制代码
-- 删除用户
drop user '用户名'@'主机名';

2、控制权限

MySQL中定义了很多种权限,常用的有一下几种:

权限 说明
ALL, ALL PRIVILEGES 所有权限
SELECT 查询权限
INSERT 插入数据
UPDATE 修改数据
DELETE 删除数据
ALTER 修改表
DROP 删除数据库 / 表 / 视图
CREATE 创建数据库 / 表

权限控制主要用到的DCL语句有:

sql 复制代码
-- 查询权限
show grants for '用户名'@'主机名';
sql 复制代码
-- 授予权限
grant 权限列表 on 数据库名.表明 to '用户名'@'主机名'; /*数据库名和表名可以使用 * 通配符,主机名可以使用 % 通配符*/
sql 复制代码
-- 撤销权限
revoke 权限列表 on 数据库名.表明 from '用户名'@'主机名'; /*数据库名和表名可以使用 * 通配符,主机名可以使用 % 通配符*/
相关推荐
xian_wwq3 小时前
【学习笔记】深度认知系列-第14讲 端侧AI崛起——为什么AI正在从云端走向本地
人工智能·笔记·学习
我爱cope3 小时前
【计算机网络 | 传输层3:TCP 协议概述:面向连接、可靠传输到底意味着什么?】
网络·网络协议·学习·tcp/ip·计算机网络·传输层
策案案案5 小时前
YOLO: 将AI Agents嵌入到IntelliJ IDEA
java·大数据·人工智能·笔记·yolo·microsoft·intellij-idea
代码的小搬运工5 小时前
KVO学习
学习·ios·cocoa
辣知6 小时前
辣知·化智47 黄帝陵与民族精神归途
学习
知识分享小能手6 小时前
深度学习学习教程,从入门到精通,数值计算 — 知识点详解(4)
人工智能·深度学习·学习
寺中人6 小时前
MySQL 8.0 Windows 完整安装教程:环境配置、密码重置与常见报错排查
数据库·windows·mysql·环境搭建·mysql 安装
这个DBA有点耶7 小时前
MySQL 8.0执行计划分析利器:EXPLAIN ANALYZE到底比EXPLAIN强在哪?
数据库·mysql·代码规范
zyf1044167 小时前
暑期实践日志 Day49:复盘题库出题成果,夯实章节考点
学习·计算机网络·剪辑·暑期实践·课题任务
kaixin_啊啊7 小时前
多模态学习
学习