博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle DML
阅读量:6207 次
发布时间:2019-06-21

本文共 1391 字,大约阅读时间需要 4 分钟。

hot3.png

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子句中,也可以使用子查询。这时的条件并不是一个确定的条件,而是依赖于对另一个表的查询。

转载于:https://my.oschina.net/u/2263361/blog/680090

你可能感兴趣的文章
【学神】1-4 用户及用户组管理
查看>>
8位二进制补码表示整数的最小值是什么,最大值是什么
查看>>
smokeping自动检测系统
查看>>
ios UINaviBar 去除分割线
查看>>
tomcat启动卡住
查看>>
linux常见命令的常用方法示例
查看>>
用户如何有效地利用数据字典(转)
查看>>
yarn oom问题一例
查看>>
apply()和call()的区别
查看>>
linux中的rm 删除命令
查看>>
C#写文本文件如何写入回车换行符?
查看>>
第6章 服务模式 Service Interface(服务接口)
查看>>
C# 依赖注入那些事儿
查看>>
火车采集小结
查看>>
yum配置中driver-class-name: com.mysql.jdbc.Driver报错
查看>>
Java BigDecimal详解
查看>>
6.17 dokcer(一)Compose 简介
查看>>
无法加载安装安装程序:Wbemupgd.dll
查看>>
BOM中的那点事-location
查看>>
MySQL基础
查看>>