【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 '用户名'@'主机名'; /*数据库名和表名可以使用 * 通配符,主机名可以使用 % 通配符*/
相关推荐
滕州市燕猫虎计算机科技工作室个体工商户4 分钟前
《Rust程序设计》学习笔记八:结构体
笔记·学习·rust·rust程序设计
别动我齐刘海1 小时前
Linux 系统调试学习1
linux·运维·服务器·c++·学习·机器学习·机器人
志尊宝1 小时前
Vue3 零基础每日笔记(082):文件上传实战——el-upload 校验、自定义上传、头像预览
前端·javascript·vue.js·笔记·#javascript·#vue.js
后季暖2 小时前
电商问数笔记(2)
笔记
xier_ran3 小时前
【infra之路】AI 编译器学习笔记(二):重拾 C++——移动语义与 LLVM 风格的类型转换
人工智能·笔记·学习
geovindu3 小时前
sql:Search-Optimized SQL Queries using mysql 9.0
android·数据库·sql·mysql·数据库开发·数据库架构
for_ever_love__3 小时前
MySQL SELECT 与 WHERE 优化实战:可搜索条件、联合索引与执行计划
数据库·mysql·oracle·select·where·条件优化·查询优化技巧
2501_931803753 小时前
MySQL 锁机制详解
数据库·mysql
li星野5 小时前
5 TYPES OF ADVERBS — One-Page Notes
学习
星恒随风5 小时前
Linux库的底层原理:ELF文件格式、静态链接、程序加载、虚拟地址空间与GOT/PLT详解
linux·运维·笔记·学习·状态模式