程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

如何使用数据操纵语言 DML?(数据操纵语言dml所实现的操作)

balukai 2025-03-19 10:29:02 文章精选 5 ℃

4. 数据操纵语言 ( DML )

数据操纵诺言(DML) 用于对数据库的表中数据进行添加、修改、删除和select…ForUpdate(后面专门学习该查询)操作。对比一期学习过的SQL Server 操作,接下来一一介绍在Oracle 中的操作。

★ 简单查询

数据查询是用 SELECT 命令从数据库的表中提取信息。SELECT 语句的语法是:

SELECT * 丨列名丨表达式 FROM 表名 WHERE 条件 ORDER BY 列名

说明:

1. * 表示表中的所有列。

2. 列名可以选择苦干个表中的列名,各个列表中间用逗号分隔。

3. 表达式可以是列名、函数、常数等组成的表达式。

4. WHERE子句是查询的条件。

5.ORDER BY 要求在查询的结果中排序,默认是升序。

你错过的不只是一个机会,而是一个时代!兆隆IT云学院,0学费,0基础,等你来!

Oracle 中可以把查询的结果根据结果集中的表结构和数据形成一张新表。语法是:

CREATE TABLE 表名 AS SELECT 语句。

使用上面命令创建的新表中,不存在任何约束,并且把查询的收据一起插入到新表中。如果只复制表结构,只需使查洵的条件不成立(比如 where 1=2 ),就不会查询出任何故据,从而复制一个表结构。

★ 数据插入

用 INSERT 命令完成对数据的插入。INSERT 命令的语法是:

INSERT INTO 表名 ( 列名1,列名2……) VALUES (值1,值2……)

说明:

t. 列名可以省略。当省略列名时,默认是表中的所有列名,列名顺序为表定义中列的先后顺序。

2.值的数量和顺序要与列名的数量和顺序一致。值的类型与列名的类型一致。

在 Oracle 中,一个 INSERT 命令可以把一个结果集一次性插入到一张表中。使用的语句是:INSERT INTO 表 SELECT 子句。如下示例:

代码演示:INSERT 向表中插入一个结果集

SQL> INSERT INTO INFOS2 SELECT * FROM INFOS;

5 rows Inserted

在这种语法下,要求结果集中每一列的数据类型必须与表中的每一列的数据类型一致,结果集中的列的数量与表中的列的数量一致。比如表 INFOS2,该表的结构与 INFO 表一样,那么可以把 INfo 表中的所有记录一次性插入到 INFOS2 表中。

Oracle 的简单查询和 SQL server 一样都可以在查询列中使用常量,如图:

你错过的不只是一个机会,而是一个时代!兆隆IT云学院,0学费,0基础,等你来!

可以使用刚才的做法,把该结果集中的数据插入到表INFOS 中。

★ 更新数据

oracle 在表中更新数据的语法是:

UPDATE 表名 SET 列名1=值,列名2=值……WHERE 条件

代码演示:Update 操作

SQL> ∪PDATE INFOS SET CLASSNO=‘’1002’,STUADDRESS=‘’山东莱芜'

WHERE STUNAME =’ 阮小二 ' ;

1 rows updated

SQL> commit;

★ 删除数据

Oracle 在表中删除数据的命令是:DELETE,语法是:DELETE FROM 表名 WHERE 条件。

符合条件的记录将被删除。

代码演示:Delete 操作

SQL > DELETE FROM INFOS WHERE STUID='s100103';

1 ROW DELETED

SQL > COMMIT;

★ TRUNCATE

在数掂库操作中,TRUNCATE命令(是一个DDL命令) 可以把表中的所有数据一次性全部删除,语法是:

TRUNCATE TABLE 表名。

TRUNCATE 和DELETE 都能把表中的数据全部删除,他们的区别是:

t. TRUNCATE 是 DDL命令,删除的数据不能恢复;DELETE 命令是DML 命令,删除后的数据可以通过日志文件恢复。

2. 如果一个表中数据记录很多,TRUNCATE 相对 DELETE 速度快。

由于 TRUNCATE 命令比较危险,因此在实际开发中,TRUNCATE 命令慎用。

你错过的不只是一个机会,而是一个时代!微信公众号:bdqnzlx QQ:598756835

最近发表
标签列表