DBMS 中 DDL 和 DML 之间的区别

DDL 与 DML 之间的主要区别

  • 数据定义语言 (DDL) 可帮助您定义数据库结构或模式,而数据操作语言 (DML 命令) 允许您管理存储在数据库中的数据。
  • DDL 命令用于创建数据库模式,而 DML 命令用于填充和操作数据库
  • 比较 DDL 和 DML,DDL 语句会影响整个表,而 DML 命令只影响一行或多行。
  • 在DDL中,SQL语句不能回滚,而在DML中,SQL语句可以回滚。
  • DDL 是一种声明性方法,而 DML 是一种命令式方法。
  • 重要的 DDL 命令有:1) CREATE、2) ALTER、3) DROP、4) TRUNCATE 等,而重要的 DML 命令有:1) INSERT、2) UPDATE、3) DELETE、4) MERGE 等。
DBMS 中 DDL 和 DML 之间的区别
DBMS 中 DDL 和 DML 之间的区别

这里我分析了DDL和DML的区别,并将全面评估它们的优缺点。

什么是 DDL?

数据定义语言可帮助您定义数据库结构或模式。DDL 命令可帮助您创建数据库和其他数据库对象的结构。其命令是自动提交的,因此更改将永久保存在数据库中。DDL 的全称是数据定义语言。

DDL 命令

五种类型的 DDL 命令如下:

CREATE

CREATE 语句用于定义数据库结构模式:

语法:

CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]); 

举个例子:

Create database university;
Create table students;
Create view for_students;

下降

Drops 命令从中删除表和数据库 RDBMS.

语法:

DROP TABLE ;  

例如:

Drop object_type object_name;
Drop database university;
Drop table student;

改变

更改命令允许您更改 数据库.

语法:

在表中添加新列

ALTER TABLE table_name ADD column_name COLUMN-definition;  

要修改表中现有的列:

ALTER TABLE MODIFY(COLUMN DEFINITION....); 

例如:

Alter table guru99 add subject varchar;

截短

此命令用于从表中删除所有行并释放包含表的空间。

语法:

TRUNCATE TABLE table_name;  

示例:

TRUNCATE table students;

DDL 命令示例

CREATE

语法:

CREATE TABLE tableName
( 
  column_1 datatype [ NULL | NOT NULL ],
  column_2 datatype [ NULL | NOT NULL ],
  ...
);

在这里,

  • 参数tableName表示您要创建的表的名称。
  • 参数column_1、column_2…表示要添加到表中的列。
  • 应将列指定为 NULL 或 NOT NULL。如果不指定, SQL服务器 将以 NULL 作为默认值

示例:

CREATE TABLE Students
(
Student_ID Int,
Student_Name Varchar(10)
)

改变

语法:

Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;

示例:

ALTER TABLE University.Students_Name ADD Course_Duration VARCHAR(20);

下降

语法:

DROP TABLE <tableName>;

参数tableName是要删除的表的名称。

示例:

DROP TABLE COURSE_NAMES;

为什么我们使用 DDL 命令?

在这里,我将解释为什么我们更喜欢 DDL 方法:

  • 允许您存储共享数据
  • 数据独立性提高完整性
  • 允许多个用户
  • 提高安全性和高效的数据访问

什么是 DML?

DML 命令允许您管理存储在数据库中的数据,尽管 DML 命令不会自动提交。而且,它们不是永久性的。因此,可以回滚操作。DML 的全称是数据操作语言。

DML 命令

我想强调一些重要的 DML 命令:

  • 插入
  • 更新
  • 删除

插入

这是一个 SQL 查询语句。此命令用于将数据插入表的行中。

语法:

INSERT INTO TABLE_NAME  (col1, col2, col3,.... col N)  
VALUES (value1, value2, value3, .... valueN);  
Or 
INSERT INTO TABLE_NAME    
VALUES (value1, value2, value3, .... valueN);    

例如:

INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', 'Erichsen');

更新

此命令用于更新或修改表中某一列的值。

语法:

UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]   

例如:

UPDATE students    
SET FirstName = 'Jhon', LastName=' Wick' 
WHERE StudID = 3;

删除

此命令用于从表中删除一行或多行。

语法:

DELETE FROM table_name [WHERE condition];

例如:

DELETE FROM students 
WHERE FirstName = 'Jhon';

DML 命令示例

插入

In PL / SQL,我们可以使用 SQL 命令 INSERT INTO。此命令将以表名、表列和列值作为输入,并将值插入基表中。

INSERT 命令还可以使用“SELECT”语句直接从另一个表中获取值,而不是为每个列提供值。通过“SELECT”语句,我们可以插入与基表包含的行数相同的行数。

语法:

BEGIN
  INSERT INTO <table_name>(<column1 >,<column2>,...<column_n>)
     VALUES(<valuel><value2>,...:<value_n>);
END;

上述语法显示了 INSERT INTO 命令。表名和值是必填字段,而如果插入语句包含表的所有列的值,则列名不是必填字段。

如果单独给出值,则关键字“VALUES”是必需的,如上所示。

语法:

BEGIN
  INSERT INTO <table_name>(<columnl>,<column2>,...,<column_n>)
     SELECT <columnl>,<column2>,.. <column_n> FROM <table_name2>;
END;

上面的语法显示了 INSERT INTO 命令直接从使用 SELECT 命令。

在这种情况下,不应出现关键字“VALUES”,因为没有单独给出值。

删除

以下是删除表的语法

语法:

DROP TABLE <TableName>;

参数TableName是要删除的表的名称。

示例:

DROP TABLE COURSE_NAMES;

选择

要查看 SQL Server 中的数据,我们使用 SELECT 语句。

语法:

SELECT expression
FROM tableName
[WHERE condition];

示例:

SELECT * FROM Course;

为什么我们使用 DML 命令?

根据我们的集体经验,DML 有以下好处:

  • DML 语句允许您修改存储在数据库中的数据。
  • 用户可以指定需要哪些数据。
  • 不同数据库供应商的 DML 提供了许多不同的风格和功能。
  • 它提供了与系统的有效的人机交互。

DBMS 中 DDL 和 DML 之间的区别

让我解释一下 DDL 和 DML 命令之间的主要区别 DBMS:

DDL 与 DML 之间的主要区别
DDL 与 DML
比较基础 DDL DML
基础 数据定义语言 (DDL) 帮助您定义数据库结构或模式。 数据操作语言(DML 命令)允许您管理存储在数据库中的数据。
使用 VHDL 语言编写 DDL 命令用于创建数据库模式。 DML 命令用于填充和操作数据库
智能分类 DDL 未进一步分类。 DML 分为过程性 DML 和非过程性 DML。
命令用途

DDL语言下常用的命令有:

  • CREATE
  • 改变
  • 下降
  • 截短
  • 评论
  • 改名

DML语言下常用的命令有:

  • 插入
  • 更新
  • 删除
  • 合并
  • 拨打
定义 它定义表的列。 它添加或更新表的行
影响 DDL 语句影响整个表。 DML 影响一行或多行。
回滚 SQL语句无法回滚 SQL 语句可以回滚

如何在 DDL 和 DML 之间进行选择

我们观察到,虽然 DDL 用于定义数据库的结构,但 DML 却全部涉及其中的数据,每个数据都发挥着关键作用。