SQL (四)

第五节.SQL(四)

DCL-数据控制语言
DCL-管理用户
  1. 查询用户
use mysql;
select * from user;
  1. 创建用户
create user '用户名'@'主机名' identified by '密码';

For example

create user 'Murasame'@'localhost' identified by '123456';
#只能在当前主机localhost访问该数据库
create user 'Murasame'@'%' identified by '123456';
#可以在任意主机访问该数据库
  1. 修改用户密码
alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';
  1. 删除用户
drop user '用户名'@'主机名';

注意

  • 主机名可以使用%通配
  • 这类SQL开发人员操作较少,主要是DBA(数据库管理员)使用
DCL-权限控制
  1. 常用权限种类
权限 说明
all,all privileges 所有权限
select 查询数据
insert 添加数据
update 修改数据
delete 删除数据
alter 修改表
drop 删除数据库/表/视图
create 创建数据库/表
  1. 查询权限
show grants for '用户名'@'主机名';
  1. 授予权限
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';

For example

grant all on mydatabase.* to 'Murasame'@'%';
#授予Murasame用户mydatabase数据库的所有表的所有权限
  1. 撤销权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';

注意

  • 多个权限之间,使用逗号分隔
  • 授权时,数据库名和表名可以使用*通配,代表所有 “ * . * —> 所有数据库的所有表”

本文章使用limfx的vscode插件快速发布