DBMS中DDL和DML的区别

  • Post category:database

在数据库管理系统(DBMS)中,DDL(Data Definition Language)和DML(Data Manipulation Language)是两大重要组成部分,常常会被人混淆。DDL主要用于定义和管理数据库中的各种对象,如表格、视图和索引等;而DML则用于对数据库中的数据进行操作。

下面将对DDL和DML的概念、特点及使用方法进行详细介绍,同时结合实例进行说明。

  1. DDL(数据定义语言)

DDL的作用是定义数据库的结构、元素及对象,通常用于创建、修改、删除数据库的结构、表格、视图等。DDL的操作影响的是整个数据库,具有“零件”的特点,即一个零件出了问题,整个系统都会受到影响。

DDL语句执行之后,是直接影响数据库的数据结构,无法撤销,所以在使用DDL语句时要谨慎。以下是常见的DDL语句及其用法:

1.1 CREATE

创建一个新的数据库表格、视图、存储过程等

示例:CREATE TABLE pet (name VARCHAR(20),owner VARCHAR(20),species VARCHAR(20),sex CHAR(1),birth DATE,death DATE);

1.2 ALTER

修改表格结构,如修改表格名称、添加或删除列等

示例:ALTER TABLE pet ADD weight INT;

1.3 DROP

删除数据库中的对象

示例:DROP TABLE pet;

1.4 TRUNCATE

删除表格中的所有数据,但保留表格结构;与 DROP TABLE 不同,TRUNCATE 无法撤消,会直接清空表格数据。

示例:TRUNCATE TABLE pet;

  1. DML(数据操作语言)

DML用于对数据库中的数据进行查询、插入、删除、修改等操作。与DDL不同,DML不影响数据库的结构,而是影响数据库的内容。因此,使用DML语句要谨慎,也要测试后再执行。以下是常见的DML语句及其用法:

2.1 SELECT

查询数据库中的数据

示例:SELECT * FROM pet WHERE species = ‘dog’;

2.2 INSERT

向数据库表格中插入新数据

示例:INSERT INTO pet (name,owner,species,sex,birth) VALUES (‘Fido’,’Jane’,’dog’,’m’,’2010-05-10′);

2.3 UPDATE

修改数据库表格中的数据

示例:UPDATE pet SET owner =’John’ WHERE name = ‘Fido’;

2.4 DELETE

从数据库表格中删除数据

示例:DELETE FROM pet WHERE death IS NOT NULL;

综上所述,DDL和DML是数据库管理系统中的两个重要组成部分,分别用于操作数据库的结构和内容。在使用DDL和DML语句时,需要仔细测试和评估,以避免错误和损失。