ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

数据库的数据定义(针对数据库或表)、数据操作和数据查询(针对表中数据)、数据控制(设置对数据库的访问权限)、事务控制(确定或者取消数据操作)

2021-04-16 22:36:12  阅读:151  来源: 互联网

标签:针对 GRANT 或表 数据库 用户 权限 数据


数据库的数据定义(针对数据库或表)、数据操作和数据查询(针对表中数据)、数据控制(设置对数据库的访问权限)、事务控制(确定或者取消数据操作)

 

1,先补充一下,数据库对象:

数据库对象:组成数据库,包括(数据库最基本的存储单位)、图表(数据库中表与表之间的关系)缺省值(数据库中表的列值缺少时的规定表示)、索引(方便查找到表中数据,还可以避免数据的重复)、用户(有权限访问数据库,需要登录账号和密码(没有登录账号和密码就采取系统默认))、存储过程、规则、触发器等

 

2,SQL语言分为五大类:

 

数据定义(DDL):(操作的是数据库或表

 Create、Alter、Drop 创建数据库(或表)、删除数据库(或表)、修改数据库(或表)

 

数据查询和操作(DQL、DML):(操作的是数据库表中的对象操作的是数据库的数据

DQL(数据查询语言) - Select 查询语句不存在提交问题。(Query,返回结果但并不会改变对象的状态。)

DML(数据操纵语言) - Insert、Delete、Update这些语句需要Commit才能提交。(Command,更改一个对象或整个系统的状态。)

 

数据控制(DCL):(授权与撤权)

授什么权   on 哪个数据库.哪个表   to   哪个用户  (Grant 授权

撤什么权   on 哪个数据库.哪个表   from   哪个用户Revoke撤权

 

事务控制(DTL):(是提交或撤销进行的数据操作)。

COMMIT 是提交你的DML数据操作.

ROLLBACK 是取消你的DML数据操作.

事务控制的作用就是防止数据操作发生了误操作,让操作者再次确认要进行该操作。

 

 

 

3,数据控制(DCL)-- 包括了 GRANT、REVOKE

用来设置数据库管理系统中的用户对于系统中的数据库或者存储在数据库中的表的访问权限。(管理数据库,包括管理权限和数据更改)

ps:因为公司有专门的数据库管理员,所以开发员很少使用!用来管理系统中的对象权限时使用。

 

GRANT授权

grant 语法:(grant 权限 on 数据库.对象(这里指的是表) to 用户)

 

语法举例1:

GRANT 权限名1,权限名2, .... on 数据库名.对象名 TO ‘用户名’@’允许其登录的地址’ identified by ‘密码’;

 

 语法举例2:

GRANT 权限1, … , 权限n ON 数据库.* TO 用户名@IP地址

 

 

ps:

 一,所有 ALL 或 * 

所有权限:All privileges (privileges可以省略)

所有数据库:*

所有数据库对象(这里一般说的是表):*

二,MySQL GRANT 权限作用权限

1, 作用在整个MySQL 服务器上    GRANT ALL ON *.* TO 用户名@IP地址

2, 作用在单个数据库上                  GRANT ALL ON 某个数据库名.* TO 用户名@IP地址

3, 作用在单个数据库的单个数据表上

GRANT ALL ON 某个数据库名.某张表 TO 用户名@IP地址

4, 作用在表中的某一列上

5, 作用在存储过程、函数上

 

 

三、查看 MySQL 用户权限

查看当前用户(自己)权限:

show grants;

查看其他 MySQL 用户权限:

show grants for zhangkh@localhost;

 

 

REVOKE 撤权

与GRANT 差不多,TO 改成 FROM

 

 注意:对于授权GRANT、撤权REVOKE 某个用户,需要等到该用户重新连接数据库后才能生效。

 

 

 

参考了:https://blog.csdn.net/wangnanwlw/article/details/50410813  《 grant 权限 on 数据库对象 to 用户@'IP'》

 

标签:针对,GRANT,或表,数据库,用户,权限,数据
来源: https://www.cnblogs.com/shan333/p/14668936.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有