DDL与DML

本文详细解释了数据定义语言(DDL)和数据操作语言(DML)的区别与应用。DDL包括创建、修改和删除数据库对象的命令,而DML则涉及插入、更新和删除数据的指令。文章还介绍了这些命令如何影响事务管理和数据可见性。

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命令提交。

总结下二者区别:

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

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

SQL(结构化查询语言)中,DDLDML 是两个重要的子集,分别用于不同的目的。 ### DDL(Data Definition Language,数据定义语言) DDL 主要用于定义或修改数据库的结构。它包括以下常用操作: - `CREATE`:创建新的数据库对象,如表、视图、索引等。例如: ```sql CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(100) ); ``` - `ALTER`:修改现有数据库对象的结构。例如: ```sql ALTER TABLE users ADD COLUMN email VARCHAR(100); ``` - `DROP`:删除数据库对象。例如: ```sql DROP TABLE users; ``` 这些操作通常会立即生效,并且不能通过事务回滚[^2]。 ### DML(Data Manipulation Language,数据操纵语言) DML 主要用于对数据库中的数据进行操作,分为数据查询和数据更新两类。常用的操作包括: - `SELECT`:从数据库中查询数据。例如: ```sql SELECT * FROM users; ``` - `INSERT`:向数据库中插入新数据。例如: ```sql INSERT INTO users (id, name) VALUES (1, 'John Doe'); ``` - `UPDATE`:更新数据库中的现有数据。例如: ```sql UPDATE users SET name = 'Jane Doe' WHERE id = 1; ``` - `DELETE`:从数据库中删除数据。例如: ```sql DELETE FROM users WHERE id = 1; ``` DDL 不同,DML 操作可以在事务中执行,并且可以通过事务回滚来撤销更改[^2]。 ### 总结 - **DDL** 主要用于定义或修改数据库对象的结构,常用的命令有 `CREATE`、`ALTER` 和 `DROP`。 - **DML** 主要用于对数据库中的数据进行操作,常用的命令有 `SELECT`、`INSERT`、`UPDATE` 和 `DELETE`。 这两种语言在 SQL 中扮演着不同的角色,分别处理数据库的设计和数据操作的不同方面。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值