
嗨~ 今天的你过得还好吗?
人生就是走自己的路
看自己的风景
🌞
- 2023.11.09 -
前面我们介绍了SQL语句中数据定义语言(DDL)的概念以及它的常用语句,那么DML又是什么呢?二者有什么区别呢?本篇文章将为你讲述。

一、DML简介
DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新。

它创建的模式(表)使用数据操作语言来填充。DDL填充表的行,每行称为Tuple。使用DML,您可以插入,修改,删除和检索表中的信息。DML命令有助于管理存储在数据库中的数据。但是,DML命令不会自动提交,因此变化不是永久性的。所以,可以回滚操作。

一些DML命令包括insert,update,delete和select。insert命令有助于将新记录或行存储到表中;update命令有助于修改表中的现有记录;delete命令允许从表中删除某个记录或一组记录;select命令允许从一个或多个表中检索特定记录。
关键字:
- 插入 insert
- 删除 delete
- 更新 update
二、DDL 语句与DML 语句的主要区别
DDL 语句与DML 语句是SQL语言中的两种主要语句类别,它们在数据库操作中起到了不同的作用。

具体来说,DDL有助于更改数据库的结构。 它主要用于定义或修改数据库的架构,包括创建、删除和修改表、数据类型、索引等。常用的DDL语句关键字包括CREATE、DROP和ALTER等。例如,可以使用CREATE TABLE语句来创建一个新表,使用ALTER TABLE语句来修改现有表的结构。
相反,DML有助于管理数据库中的数据 。 它涵盖了SQL中处理数据的基本操作,包括查询、插入、更新和删除数据。DML语句通常用于从数据库中提取信息、修改现有数据或添加新数据。一些常用的DML语句关键字包括SELECT、INSERT、UPDATE和DELETE等。通过这些语句,用户可以对数据库中的数据进行各种操作,以满足其需求。
总之,DDL和DML分别代表了在数据库操作中的结构定义和管理数据的两个关键方面,它们共同构成了SQL语言的核心功能,使用户能够有效地创建和管理数据库。
你还在苦恼找不到真正免费的编程学习平台吗?可以试试云端源想!课程视频、在线书籍、在线编程、实验场景模拟、一对一咨询......你想要的全部学习资源这里都有,重点是统统免费!大力推荐!
三、DML 常见操作
前面我们已经了解了DML的概念和与DDL 语句的主要区别,下面我们来看看DML 常用语法有哪些。
首先,准备一张表:

1. 插入数据(INSERT)
1.1 语法:
scss
INSERT INTO 表名[(字段1,字段2,...)] VALUES(字段的1值,字段2的值,...)
注:在语法定义上"[]"中的内容表示可写可不写
例:

注:
- 数据库中字符串的字面量是使用单引号''表达的
- VALUES中指定的值要与指定的字段名个数,顺序,以及类型完全一致
- 查看表中数据
sql
SELECT * FROM person
1.2 插入默认值
当插入数据时不指定某个字段,那么该字段插入默认值。若创建表时字段没有显示的指定默认值时,默认值插入NULL。
例:

注意事项:
- age字段没有指定,因此插入默认值NULL;
- 数据库中任何字段任何类型默认值都是NULL,当然可以在创建表时使用DEFAULT指定。

1.3 全列插入
当我们插入数据是不指定任何字段名时,就是全列插入。此时VALUES子句中需要为每个字段指定值。并且要求(个数,顺序,类型必须与表完全一致)
例:

2. 修改数据(UPDATE)
2.1 语法
sql
UPDATE 表名 SET 字段1=新值1[,字段2=新值2,...][WHERE 过滤条件]
例:

注意:
UPDATE语句通常都要添加WHERE子句,用于添加要修改记录的条件,否则全表修改!
2.2 修改指定记录(添加WHERE子句)
例:

WHERE子句中常用的条件
=, <, <= ,> ,>= ,<>(不等于使用<>。!=不是所有数据库都支持)

2.3 将一个计算表达式的结果作为值使用

2.4 同时修改多个字段

3. 删除语句(DELETE)
3.1 语法:
sql
DELETE FROM 表名 [WHERE 过滤条件]
注:DELETE语句通常都要添加WHERE子句,否则是清空表操作
例:

3.2 清空表操作
sql
DELETE FROM person
练习:

四、总结
DML是一种用于操作数据库中数据的语言。它提供了对数据的增、删、改、查等基本操作,是进行数据库编程的重要工具之一。
在DML中,我们可以使用SELECT语句来查询数据库中的数据,使用INSERT语句来插入新的数据,使用UPDATE语句来更新已有的数据,以及使用DELETE语句来删除数据。这些操作可以通过简单的语法来实现,使得开发者能够更方便地对数据库中的数据进行处理。
除了基本操作外,DML还支持事务处理机制。事务可以确保一系列操作的完整性和一致性,如果其中任何一个步骤失败,则所有步骤都会被回滚,否则它们将被提交到数据库中。这种机制对于需要保证数据一致性的应用程序非常重要。

总的来说,DML是进行数据库编程不可或缺的一部分。通过熟练掌握DML的基本操作和事务处理机制,我们可以更高效地管理和操作数据库中的数据。同时,在实际应用中需要注意一些技巧和安全问题,如避免SQL注入攻击、优化查询语句等。

我们下期再见!