数据库DDL(数据定义语言)与DML(数据操作语言)与DCL(数据控制语言)

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

数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言

1
2
3
4
5
6
create  table  创建表     
alter  table   修改表   
drop  table  删除表   
truncate  table  删除表中所有行     
create  index  创建索引   
drop  index   删除索引

当执行DDL语句时,在每一条语句前后,oracle都将提交当前的事务。

如果用户使用insert命令将记录插入到数据库后,执行了一条DDL语句(如create table),此时来自insert命令的数据将被提交到数据库。

当DDL语句执行完成时,DDL语句会被隐式的自动提交,不能回滚。 

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

1
2
3
insert  将记录插入到数据库 
update  修改数据库的记录 
delete  删除数据库的记录

当执行DML命令如果没有提交,将不会被其他会话看到。

除非在DML命令之后执行了DDL命令或DCL命令,或用户退出会话,或终止实例,此时系统会自动发出commit命令,使未提交的DML命令提交。

DCL (Data control Language 数据操作语言) 

Dcl 数据控制语言, 如 commit、 rollback、grant、 invoke等

总结下二者区别:

DML是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。

DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。

转载自:https://zhidao.baidu.com/question/119284510.html

猜你喜欢

转载自blog.csdn.net/HD243608836/article/details/80088385