数据操作语言 - DML

简介: 数据操作语言 - DML

之前我们已经了解了SQL语言的分类,可以划分为:DDL(数据定义语言)、DML(数据操纵语言)、DQL(数据查询语言)、DCL(数据控制语言)、TPL(事务处理语言)、CCL(指针控制语言),本文将介绍DML。

一、INSERT

INSERT语句用于向数据表中插入数据,我们主要需要注意数据类型的匹配以及插入数据的顺序。

1. 全字段插入

全字段插入是指:根据数据表的表结构,向所有的列中均插入数据,此时可以在INSERT后省略列名,直接使用INSERT INTO语句即可,在插入之前可以先查看一下表结构,或使用DESC命令查看一下表结构。

DESC Student;

当进行全字段插入时,我们需要完全按照定义数据表时预设的字段顺序,来调整插入数据的顺序。数据库在进行插入数据校验时,只能进行数据类型是否匹配的校验。

INSERT INTO Student VALUES('001103','js0001','王小明','男','1981-10-07 00:00:00');

2. 指定字段插入

指定字段插入可以只向数据表中的某几列插入数据,其他列会被默认值或NULL值填充,在操作时需要注意未插入数据的列已经设置好了默认值或者允许为空,否则必须向该列插入数据。

由于我们插入的是数据表中的某几列,数据库自身并不能判断我们要向那几列插入数据,所以在表名后一定要指定目标列,并且VALUES中的值的顺序要与列的顺序一致。

INSERT INTO Student(S_no,Class_no,S_name) VALUES('001103','js0001','王小明');

3. 同时插入多条数据

如果想向一个数据表中插入多条数据,直接在VALUES后用逗号隔开。

INSERT INTO 
Student(S_no,Class_no,S_name) 
VALUES
('001103','js0001','王小明'),
('001104','js0002','张小明'),
('001105','js0003','李小明');

4. 将查询结果直接插入

如果想要复制一个表的数据到名外一个表,可以使用INSERT INTO SELECT语句。前提是两个表具有相似的结构,在数据类型上匹配,数据长度上能够兼容,即:查询出的数据到能够放入到目标数据表。

INSERT INTO `目标表`
SELECT * FROM `源数据表`;
INSERT INTO `目标表`(`列名`,...)
SELECT `列名`,... FROM `源数据表`;

二、DELETE

1. 清空数据

在使用DELETE时要尤其注意,在不加任何条件时,会清空数据表中的数据。

DELETE FROM `表名`;

2. DELETE与DROP的区别

之前在讲解DDL时介绍了DROP(传送门地址:数据定义语言 - DDL),在最开始的时候容易混淆,其实很容易理解。DROP删除的是表结构,既然结构都没有了,那数据也就一同被清除了。DELETE只是删除数据,而表结构依然存在。

3. 筛选删除

在执行删除操作时,只能以行为单位(如果要清空某一列,需要使用UPDATE),通过添加WHERE子句来实现,使用规则与查询时相同,可进传送门:数据库单表查询 - 简单筛选查询

DELETE FROM `表名`
WHERE 筛选条件;

三、UPDATE

1. 全量更新

与DELETE类似,当不添加筛选条件时将会更新整表的数据,可以同时更新多个列,使用逗号隔开,需要用到赋值运算符(=)。

UPDATE `表名` SET `列名` = 值或表达式,`列名` = 值或表达式;

2. 选择更新

通过WHERE子句可以添加筛选条件,对符合条件的数据进行更新。

UPDATE `表名` SET `列名` = 值或表达式,`列名` = 值或表达式
WHERE 筛选条件;

目录
相关文章
|
SQL 安全 数据库
深入理解SQL的数据操作语言(DML)
SQL(Structured Query Language)是一种用于管理和操作关系数据库的强大语言。SQL语言被分为多个子语言,其中之一是DML(Data Manipulation Language),用于执行与数据的操作和管理相关的任务。在本文中,我们将深入探讨DML的各个方面,从基础操作到高级技巧,以帮助初学者更好地理解和使用SQL的DML。
320 1
|
SQL 关系型数据库 MySQL
MySQL知识【DML:数据操作语言&DQL:数据查询语言】第六章(上)
MySQL知识【DML:数据操作语言&DQL:数据查询语言】第六章
|
SQL 关系型数据库 MySQL
MySQL知识【DML:数据操作语言&DQL:数据查询语言】第六章(下)
MySQL知识【DML:数据操作语言&DQL:数据查询语言】第六章
|
4月前
|
SQL 关系型数据库 MySQL
第4章 数据操作语言DML
第4章 数据操作语言DML
27 0
|
4月前
|
SQL 关系型数据库 MySQL
MySQL DML(数据操作语言)全面指南
MySQL DML(数据操作语言)全面指南
|
5月前
|
SQL 数据管理 数据库
SQL 语言:数据操作
SQL 语言:数据操作
53 4
|
6月前
|
SQL 存储 关系型数据库
关系性数据库操作语言(DML)
DML是关系型数据库管理系统的关键工具,用于查询、插入、修改和删除数据。主要包含SELECT(查询)、INSERT(插入)、UPDATE(修改)和DELETE(删除)语句。DML以其交互性和灵活性使用户能动态操作数据,但需注意事务管理以保持数据一致。DML与DDL(定义数据库结构)和DCL(控制访问权限)共同构建了完整的数据库语言体系,用于高效管理和存储数据。
128 2
|
SQL 关系型数据库 MySQL
MySQL知识【DML:数据操作语言&DQL:数据查询语言】第六章(中)
MySQL知识【DML:数据操作语言&DQL:数据查询语言】第六章
|
SQL 关系型数据库 MySQL
【MySQL数据库基础 四】DML数据操作语句
【MySQL数据库基础 四】DML数据操作语句
116 0
|
SQL 关系型数据库 MySQL
MySQL数据库语言二:DML、DQL
本篇文章介绍MySQL语言中的DML和DQL语句,文章结尾有关于数据库实现鉴权展示内容的实操。
109 0