Oracle_DML
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle_DML相关的知识,希望对你有一定的参考价值。
DML是“数据操纵语言”( Data Manipulation Language )的简写。
如果说SELECT语句对数据进行的是读操作,那么DML语句对数据进行的是写操作。
DML语句的操作对象是表中的行,这样的语句一次可以影响一行或多行数据。
DML包括三种操作:插入( INSERT )、删除(DELETE )、修改( UPDATE )。
INSERT语句
INSERT语句的作用是往表中插入一行,它的语法格式为:
INSERT INTO 表(列1 ,列2 …) VALUES (表达式1 ,表达式2 .. ) ;
在向表中插入一行时, INSERT语句将表达式的值作为对应列的值,列的排列顺序、数据类型和数量应该与表达式一致,否则可能会出错。
如果没有指定某个列,那么在插入数据时这个列的值将为空。
在表达式中,字符串类型数据的大小写是敏感的,日期型数据的格式在不同系统中是有区别的。
在INSERT语句中如果指定了列名,那么它们的顺序可以随意,只要与VALUES子句中的表达式一一对应即可。
如果要为所有的列都提供数据,则可以省略列名,但是VALUES 子句中表达式的顺序、数据类型和数量必须与表中列的定义一致。
在INSERT语句中为各列指定数据时,可以指定一个常量,或者指定一个表达式,如函数、算术运算表达式等。
利用INSERT语句还可以从另一个表中复制数据,这时要在INSERT语句中使用子查询,对应的语法格式为:
INSERT INTO 表1 (列1 ,列2 …)
SELECT 列 1 ,列2 ••• FROM 表2 WHERE 条件表达式;
这里的SELECT子句实际上是一个子查询。
执行这样的语句时,首先执行SELECT 子句,将返回的查询结果作为指定列的值,插入到表中。
用这种方法可以-次向表中插入多行,但是需要注意的是,表指定的各列要与SELECT子句中的各列在排列顺序、数据类型和数量上保持一致。
DELETE语句
DELETE 语句用来从表中删除指定的行,它一次可以删除一行,也可以删除多行。
DELETE语句的语法格式为:
DELETE FROM 表名称 WHERE 条件;
在默认情况下, DELETE语句可以不使用WHERE子句,这时将删除表中的所有行。
如果希望只删除表中的一部分数据,需要通过WHERE指定条件。
在DELETE语句的WHERE子句也可以使用子查询,子查询与SELECT语句中的子查询用法相同。
UPDATE语句
UPDATE语句的作用是对表中已经存在的数据进行修改。
它可以一次修改一行,也可以修改多行。
这条语句的语法格式为:
UPDATE 表名称 SET 列名称=表达式1, 列名称=表达式2 WHERE 条件;
UPDATE语句通过SET子句为指定列指定新值,将列值修改为指定的表达式。
在SET子句中指定所有需要修改的列。
在默认情况下,UPDATE语句不需要WHERE子句,这时UPDATE语句将修改表中的所有行。
如果通过WHERE子句指定了条件,那么UPDATE语句只修改满足条件的行。
在UPDATE语句的WHERE子句中,也可以使用子查询。这时的条件并不是一个确定的条件,而是依赖于对另一个表的查询。
以上是关于Oracle_DML的主要内容,如果未能解决你的问题,请参考以下文章