您现在的位置是:首页 >  云笔记 >  开发笔记 >  文章详情

DDL、DML、DCL的区别

豆豆   2020-12-17 17:39:34   950人已围观

image.png

1、DDL (Data Definition Language 数据定义语言)

create table 创建表    

alter table  修改表   

drop table 删除表   

truncate table 删除表中所有行    

create index 创建索引   

drop index  删除索引 

当执行DDL语句时,在每一条语句前后,oracle都将提交当前的事务。如果用户使用insert命令将记录插入到数据库后,执行了一条DDL语句(如create table),此时来自insert命令的数据将被提交到数据库。当DDL语句执行完成时,DDL语句会被自动提交,不能回滚。 

2、DML (Data Manipulation Language 数据操作语言)

insert 将记录插入到数据库 

update 修改数据库的记录 

delete 删除数据库的记录 

当执行DML命令如果没有提交,将不会被其他会话看到。除非在DML命令之后执行了DDL命令或DCL命令,或用户退出会话,或终止实例,此时系统会自动发出commit命令,使未提交的DML命令提交。

3、DCL(Data Control Language 数据控制语言)

主要是数据库对象的权限,这些操作的确定使数据更加的安全。DCL的主要语句(操作):

Grant语句:允许对象的创建者给某用户或某组或所有用户(PUBLIC)某些特定的权限。

Revoke语句:可以废除某用户或某组或所有用户访问权限

COMMIT语句:事物提交。

ROLLBACK语句:回滚命令使数据库状态回到上次最后提交的状态。

DCL的操作对象(用户)


分享到:

编辑发布时间:2020-12-17 17:39:34