Oracle数据库DML命令与SQL查询详解

需积分: 10 49 下载量 21 浏览量 更新于2024-08-15 收藏 3.47MB PPT 举报
"这份PPT详细介绍了Oracle数据库中的DML(Data Manipulation Language)命令,包括INSERT、UPDATE、DELETE、COMMIT、SAVEPOINT和ROLLBACK等核心操作。同时,部分内容展示了SELECT查询的基本语法和高级用法,如使用表达式、运算符、处理空值、字段别名以及查询字段的连接等。" 在Oracle数据库中,DML命令是用于操纵数据的主要工具。以下是对这些命令的详细说明: 1. **INSERT**:INSERT命令用于向表中插入新的行。基本语法是`INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...)`。例如,要插入一个新的员工记录,需要指定所有必需的列和对应的值。 2. **UPDATE**:UPDATE用于修改表中已存在的行。基本语法是`UPDATE 表名 SET 列名1 = 新值1, 列名2 = 新值2 WHERE 条件`。WHERE子句用于指定要更新的行。例如,要将所有部门ID为10的员工工资增加1000,使用`UPDATE s_emp SET salary = salary + 1000 WHERE dept_id = 10`。 3. **DELETE**:DELETE命令用于从表中移除现有行。基本语法是`DELETE FROM 表名 WHERE 条件`。如果不指定WHERE子句,将删除表中的所有行。例如,要删除所有部门ID为20的员工,使用`DELETE FROM s_emp WHERE dept_id = 20`。 4. **COMMIT**:COMMIT命令用于提交事务,将所有未提交的更改永久保存到数据库中。在Oracle中,事务处理默认是自动提交,但也可以通过BEGIN、COMMIT和ROLLBACK来手动控制。 5. **SAVEPOINT**:SAVEPOINT用于设置一个事务保存点,允许在事务中回滚到特定的保存点,而不是回滚整个事务。例如,`SAVEPOINT before_update`会在当前事务中创建一个名为before_update的保存点。 6. **ROLLBACK**:ROLLBACK命令用于撤销自上次提交以来的所有更改。如果之前设置了SAVEPOINT,可以使用`ROLLBACK TO SAVEPOINT before_update`回滚到保存点before_update的状态。 关于SELECT查询,它是用来从数据库中获取数据的SQL语句。基本语法是`SELECT 列名1, 列名2 FROM 表名`。例如,`SELECT * FROM s_emp`会返回s_emp表中的所有列和行。以下是一些高级用法: - **查询指定列**:可以只选择需要的列,如`SELECT dept_id, salary FROM s_emp`。 - **运用算数表达式**:可以在SELECT语句中使用算数表达式,如计算年薪`SELECT salary*12 FROM s_emp`。 - **处理空值**:可以使用`IS NULL`或`IS NOT NULL`来查询包含或不包含空值的记录。 - **字段别名**:使用AS关键字可以给字段起别名,如`SELECT salary AS annual_salary FROM s_emp`。 - **查询字段的连接**:可以使用CONCAT函数或||操作符连接字段,如`SELECT CONCAT(last_name, ', ', first_name) FROM s_emp`。 这个PPT不仅覆盖了DML命令,还涉及了SELECT查询的实用技巧,是学习Oracle SQL的基础资料。通过深入理解和实践,能有效提升对Oracle数据库的操作能力。