数据控制语言DCL语句集合及常用的操作权限简介 (数据控制语言的缩写)

教程大全 2025-07-18 06:41:34 浏览

数据控制语言DCL语句集合 及常用的 操作权限 的相关知识是本文我们主要要介绍的内容,我们知道,DCL是数据控制语言(Data Control Language,DCL)。具备控制数据库中数据权限的功能。

GRANT 定义权限

GRANT 权限1,权限2…

ON 对象类型 对象名

TO 用户1,用户2…

(WITH GRANT OPTION) ;

其语义为,将GRANT子句中指定的某操作对象的权限授予指定的用户。

对于不同类型的数据对象有不同的操作权限,常见的操作权限如下:

常用的操作权限 Order="1" cellpadding="1" cellspacing="1"> 数据控制的缩写
对象 对象类型 操作权限
属性列 SELECT,INSERT,UPDATE,DELETE,ALL PRIVILEGES
视图 SELECT,INSERT,UPDATE,DELETE,ALL PRIVILEGES
基本表 SELECT,INSERT,UPDATE,DELETE,ALTER,INDEX,ALL PRIVILEGES
数据库 CREATE TABLE,ALTER TABLE

授权的用户可以是一个或者多个具体的用户,也可以是PUBLIC,即全体用户。

WITH GRANT OPTION 的含义是获得某种权限的用户还可以把这种权限再授予其他用户。如果在定义权限时没有指定WITH GRANT OPTION,则获得某种权限的用户只能使用该权限,但不能传播该权限。

例1:把查询Student表的权限授给用户U1:

例2:把查询Student表和修改学号的权限授给用户U2:

例3:把对表SC的INSERT权限授予U3用户,并允许将此权限再授予其他用户:

REVOKE 收回权限

REVOKE 权限1,权限2…

ON 对象类型 对象名

FROM 用户1,用户2…;

通过REVOKE收回定义的权限。

例1:把用户U2修改学生学号的权限收回:

例2:把用户U3对SC表的INSERT权限收回:

在收回权限的时候,DBMS采用级联收回的策略,即在收回U3权限的同时也收回了U3授予U4的权限。

关于数据控制语言DCL语句集合及常用的操作权限的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!

【编辑推荐】


什么是DQL,DML,DDL,DCL-victorymoshui-ITPUB博客

DQLDQL:Data Query Language SELECT 数据查询语言select具体用法SELECT select_list[ INTO new_table ]FROM table_source[ WHERE search_condition ][ GROUP BY group_by_expression ][ HAVING search_condition ][ ORDER BY order_expression [ ASC | DESC ] ]例子:找出emp表中员工号为007的员工的工资SELECT emp tWHERE =007DML DML = Data Manipulation Language,数据操纵语言,命令使用户能够查询数据库以及操作已有数据库中的数据的计算机语言。 具体是指是SELECT查询、UPDATE更新、INSERT插入、DELETE删除。 DML(Data Manipulation Language)数据操纵语言,SQL的分类之一,此外还有DDL(Data Definition Language)数据定义语言和DCL(Data Control Language)数据控制语言。 DML包括:INSERT、UPDATE、DELETE。 注意,select语句属于DQL(Data Query Language)。 DML分成交互型DML和嵌入型DML两类。 依据语言的级别,DML又可分成过程性DML和非过程性DML两种。 如insert,delete,update,select(插入、删除、修改、检索)等都是DML.交互型DML:这类DML自成系统,可在终端上直接对数据库进行操作。 嵌入型DML:这类DML是嵌入在主语言中使用。 此时主语言是经过扩充能处理DML语句的语言。 过程性DML:用户编程时,不仅需要指出“做什么”(需要什么样的数据),还需要指出“怎么做”(怎么获得数据)。 层状、网状的DML属于过程性语言。 非过程性DML:用户编程时,只需要指出“做什么”,不需要指出“怎么做”。 关系型DML属于非过程性语言。 DDL数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。 一个数据库模式包含该数据库中所有实体的描述定义。 这些定义包括结构定义、操作方法定义等。 数据库模式定义语言并非程序设计语言,DDL数据库模式定义语言是SQL语言(结构化程序设计语言)的组成部分。 SQL语言包括三种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)。 DDL描述的模式,必须由计算机软件进行编译,转换为便于计算机存储、查询和操纵的格式,完成这个转换工作的程序称为模式编译器。 模式编译器处理模式定义主要产生两种类型的数据:数据字典以及数据类型和结构定义。 数据字典和数据库内部结构信息是创建该模式所对应的数据库的依据,根据这些信息创建每个数据库对应的逻辑结构;对数据库数据的访问、查询也根据模式信息决定数据存取的方式和类型,以及数据之间的关系和对数据的完整性约束。 数据字典是模式的内部信息表示,数据字典的存储方式对不同的DBMS各不相同。 数据类型和结构的定义,是指当应用程序与数据库连接操作时,应用程序需要了解产生和提取的数据类型和结构。 是为各种宿主语言提供的用户工作区的数据类型和结构定义,使用户工作区和数据库的逻辑结构相一致,减少数据的转换过程,这种数据类型和结构的定义通常用一个头文件来实现。 数据库模式的定义通常有两种方式: 交互方式定义模式和通过数据描述语言 DDL 描述文本定义模式。 CREATE DATABASE 创建数据库CREATE {DATABASE | SCHEMA} db_name[create_specification [, create_specification] ...]create_specification:[DEFAULT] CHARACTER SET charset_name| [DEFAULT] COLLATE collation_nameCREATE TABLE创建数据库表格CREATE [TEMPORARY] TABLE tbl_name[(create_definition,...)][table_options] [select_statement]ALTER TABLE修改数据库表格ALTER TABLE tbl_namealter_specification [, alter_specification] _specification:ADD [COLUMN] column_definition [FIRST | AFTER col_name ]| ADD [COLUMN] (column_definition,...)| ADD INDEX (index_col_name,...)| ADD [CONSTRAINT [symbol]]PRIMARY KEY (index_col_name,...)| ADD [CONSTRAINT [symbol]]UNIQUE (index_col_name,...)| ADD (index_col_name,...)| ADD [CONSTRAINT [symbol]]FOREIGN KEY (index_col_name,...)[reference_definition]| ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}| CHANGE [COLUMN] old_col_name column_definition[FIRST|AFTER col_name]| MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]| DROP [COLUMN] col_name| DROP PRIMARY KEY| DROP INDEX index_name| DROP FOREIGN KEY fk_symbol| DISABLE KEYS| ENABLE KEYS| RENAME [TO] new_tbl_name| ORDER BY col_name| CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]| [DEFAULT] CHARACTER SET charset_name [COLLATE collation_name]| DISCARD TABLESPACE| IMPORT TABLESPACE| table_optionsDROP TABLE删除数据库表格DROP [TEMPORARY] TABLEtbl_name [, tbl_name] ...[RESTRICT | CASCADE]CREATE VIEW创建查询命令CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]VIEW view_name [(column_list)]AS select_statement[WITH [CASCADED | LOCAL] CHECK OPTION]ALTER VIEW修改查询命令ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]VIEW view_name [(column_list)]AS select_statement[WITH [CASCADED | LOCAL] CHECK OPTION]DROP VIEW删除查询命令DROP VIEWview_name [, view_name] ...[RESTRICT | CASCADE]DCLDCL(Data Control Language)是数据库控制语言。 是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。 在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCLDCL数据库控制语言不同于程序设计语言,SQL语言(结构化程序设计语言)的组成部分包括了DCL数据库控制语言。 SQL语言包括三种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)。

SQL到底可以分几种语言

DDL (Data Definition Language) 资料定义语言DML (Data Manipulation Language)资料处理语言DQL (Data Query Language)资料查询语言 DCL (Data Control Language)资料控制语言 DAC (Data Administration Commands)资料管理语言TCC (Transactional control commands)交易控制指令1. DDL:允许资料库使用者建立与重建资料库物件,如建立或更新删除表格。 DDL指令 :(1) CREATE TABLE (建立表格,属於概念层指令)(2) ALTER TABLE (修改表格,例如:增掩表格属性)(3) DROP TABLE (删除表格)(4) CREATE INDEX (建立索引表)(5) ALTER INDEX(6) DROP INDEX(7) CREATE VIEW (产生景观,属於外部纲目指令)(8) ALTER VIEW(9) DROP VIEW2. DML:用来插入、更新及删除关联式资料库的资料,DML有三个主要指令:insert、 delete、update。 3. DQL:允许资料库使用者查询资料库中相关的资料。 DQL只有一个select指令,这里的select指令与关联式代数的「选择」指令意义并不同。 4. DCL:DCL控制使用者对资料库内容的存取权限。 主要指令有:REVOKE删除权限、ALTER PASSWORD、GRANT授与权限、SYNONYM。 5. DAC:允许使用者对使用中的资料库产生稽核与分析,共有两种主要指令:START AUDIT、STOP AUDIT。 6. TCC:用来管理资料的交易。 以下为主要指令: (1) COMMIT:确认资料库的交易。 交易一旦确认就永久有效。 (2) ROLLBACK:回复资料库的交易。 使交易回到未被确认状态。 (3) SAVEPOINT:设立群组内交易的指标。 (4) SET TRANSACTION:为每一次交易命名。 COMMIT、ROLLBACK、SAVEPOINT只能与DML的insert、delete、update指令一起使用。

SQL语言是谁发明的?

SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的 接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。 结构化查询语言(Structured Query Language)最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。如今无论是像Oracle、Sybase、DB2、Informix、SQL Server这些大型的数据库管理系统,还是像Visual Foxpro、PowerBuilder这些PC上常用的数据库开发系统,都支持SQL语言作为查询语言。 美国国家标准局(ANSI)与国际标准化组织(ISO)已经制定了SQL标准。ANSI是一个美国工业和商业集团组织,负责开发美国的商务和通讯标准。ANSI同时也是ISO和International Electrotechnical Commission(IEC)的成员之一。ANSI 发布与国际标准组织相应的美国标准。1992年,ISO和IEC发布了SQL国际标准,称为SQL-92。ANSI随之发布的相应标准是ANSI SQL-92。ANSI SQL-92有时被称为ANSI SQL。尽管不同的关系数据库使用的SQL版本有一些差异,但大多数都遵循 ANSI SQL 标准。SQL Server使用ANSI SQL-92的扩展集,称为T-SQL,其遵循ANSI制定的 SQL-92标准。 SQL语言包含4个部分: ※ 数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。 ※ 数据操作语言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。 ※ 数据查询语言(DQL),例如:SELECT语句。 ※ 数据控制语言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。 SQL语言包括三种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)。 SQL 是用于访问和处理数据库的标准的计算机语言。 SQL 指结构化查询语言 SQL 使我们有能力访问数据库 SQL 是一种 ANSI 的标准计算机语言 编者注:ANSI,美国国家标准化组织
本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐