mysql 数据控制语言

本文详细介绍了MySQL中的数据控制语言,包括如何创建、删除用户,修改用户密码,以及权限管理如授予权限和剥夺权限。用户信息存储在`mysql`数据库的`user`表中。创建用户需要指定登录地址和密码,删除用户,修改密码有特定的SQL语句。权限分为多个类别,如SELECT、UPDATE和DELETE等,可以授予或剥夺特定数据库和对象的权限。

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

数据控制语言,是用于对mysql的用户及其权限进行管理的语句;

用户管理

用户数据所在位置:mysql中的所有用户,都存储在系统数据库(mysql)中的user 表中——不管哪个数据库的用户,都存储在这里。

表初始内容如下:
这里写图片描述

创建用户:

形式:

create  user  ‘用户名’@’允许登录的地址/服务器’  identified  by  ‘密码’;

说明:

  • 允许登录的地址/服务器就是,允许该设定的位置,来使用该设定的用户名和密码登录,其他位置不行;
  • mysql的安全身份验证,需要3个信息。

例:
这里写图片描述
查看mysql中的user表:
这里写图片描述

删除用户:
drop  user  '用户名'@'允许登录的地址或服务器名';
修改用户密码

修改自己的密码:

set password = password('密码');

修改他人的密码(前提是有权限):

set password  for  '用户名'@'允许登录的地址' = password('密码');
权限管理

权限:mysql数据库,将其中所能做的所有事情,都分门别类分配到大约30多个权限中去了,其中每个权限,都由一个“单词”来表示!

比如:

  • select:代表可以查询数据; update:代表可以修改数据; delete:代表可以删除数据;…
  • 有一个权限名叫做“all”:表示所有权限;

有如下权限:
这里写图片描述
另一个表现形式(带中文说明):
这里写图片描述

授予权限:

形式:

grant  权限列表  on  某库.某个对象  to  ‘用户名’@’允许登录的位置’  【identified  by  ‘密码’】;

举例:

grant all on  database.table to 'user'@'%' identified by '123456'

说明:

  • 权限列表,就是,多个权限的名词,相互之间用逗号分开,比如: select, insert, update 也可以写:all
  • 某库.某个对象,表示,给指定的某个数据库中的某个“下级单位”赋权; 下级单位有:表名,视图名,存储过程名; 存储函数名;

有2个特殊的语法:
1、*.*: 代表所有数据库中的所有下级单位;
2、 某库.* :代表指定的该库中的所有下级单位;

  • 【identified by ‘密码’】是可省略部分,如果不省略,就表示赋权的同时,也去修改它的密码;
  • 如果该用户未存储,此时其实就是创建一个新用户;并此时就必须设置其密码了
剥夺权限:

形式:

revoke  权限列表  on  某库.某个对象  from  '用户名'@'允许登录的位置'

其含义,跟grant中完全一样;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值