数据库:SQL分类之DCL详解

1.管理用户

1.查询用户

use mysql ;

select * from user ;

2.创建用户

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

例:

复制代码
//创建用户itcast ,只能够在当前主机local host访问,密码123456
create user 'itcast'@'localhost' identified by '123456';

//创建用户itcasts ,可以在任意主机访问该数据库,密码123456
create user 'itcasts'@'%' identified by '123456';// %代表任意
3.修改用户密码

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

例:

复制代码
alter user 'itcast'@'local host' identified with mysql_native_password by '12345678' ;
4.删除用户

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

例:

复制代码
drop user 'itcast'@'local host' ;

注意:

  • 主机名可以用%通配
  • 这类SQL开发人员操作的比较少,主要是DBA(Database Administrator 数据库管理员)使用。

2.权限控制

MySQL中定义了很多种权限,但是常用的就以下几种:

|----------------------|------------|
| 权限 | 说明 |
| all , all privileges | 所有权限 |
| select | 查询数据 |
| insert | 插入数据 |
| update | 修改数据 |
| delete | 删除数据 |
| alert | 修改表 |
| drop | 删除数据库/表/视图 |
| create | 创建数据库/表 |

1.查询权限

show grants for '用户名 '@'主机名' ;

例:

复制代码
show grants for 'itcast'@'local host';
2.授予权限

grant 权限列表 on 数据库名.表名 to '用户名'@'主机名' ;

例:

复制代码
grant all on itcast.* to 'itcast'@'local host';

3.撤销权限

revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名' ;

例:

复制代码
revoke all on itcast.* from 'itcast'@'local host';

本期分享就到此结束啦,谢谢大家观看,我们下期再见!

相关推荐
SelectDB技术团队15 分钟前
15 分钟搭建 PostgreSQL + Apache Iceberg + Apache Doris 的湖仓分析平台
数据库·postgresql·apache
运维行者_24 分钟前
预测性云监控怎么做?AI驱动的7大核心能力与落地路径
服务器·开发语言·网络·数据库·人工智能·python·php
_Narcissus_27 分钟前
B+树的概念和操作笔记(含完整代码实现)
c语言·数据结构·数据库·c++·笔记·b树·算法
数据库技术讲堂36 分钟前
从 GitOps 到数据库变更:NineData 如何打通 CI/CD 的数据库治理链路
java·数据库·ci/cd
Wang's Blog1 小时前
PostgreSQL笔记33: 索引底层原理、扫描类型与属性体系深度解析
数据库·笔记·postgresql
地衣君1 小时前
从 profile 到 kanban:Hermes 多 Agent 协作解析及示例
网络·数据库·tcp/ip
秋田君1 小时前
【无标题】
数据库·oracle
Logintern091 小时前
数据库分区表的索引实际上包含本地索引和全局索引两种类型
数据库·分区索引
Elastic 中国社区官方博客1 小时前
跳过 mapping 爆炸:ES|QL 无需动态 mapping 即可查询无 schema JSON key
大数据·人工智能·sql·elasticsearch·搜索引擎·json·全文检索
阿沐沐,1 小时前
PowerShell 里改了 config.toml,Codex CLI 仍用旧值:先分清该改哪一层
java·服务器·数据库·人工智能·ai·ai编程