Oracle11g SQL基础:对视图的DML操作与查询技巧

需积分: 10 16 下载量 109 浏览量 更新于2024-08-15 收藏 1.96MB PPT 举报
"该资源是关于Oracle 11g SQL基础的讲解,特别是涉及对视图进行DML操作的规则。" 在Oracle数据库管理中,SQL(Structured Query Language)是用于管理和操纵关系型数据库的标准语言。它包含了多种类型的语句,如查询(QUERY)、数据处理(DML)、数据定义(DDL)、事务控制(TC)和数据控制(DCL)。本资源特别关注了在SQL中对视图执行DML操作的规则。 对视图进行DML操作,通常情况下是允许的,但是有一些限制条件。如果视图包含特定内容,例如: 1. **组函数(Group functions)**:如SUM, AVG, COUNT等,这些函数在视图中用于对数据进行聚合操作,无法在DML操作中直接更新。 2. **GROUP BY子句**:用于分组数据,使得DML操作无法明确地指定要修改的具体行。 3. **DISTINCT**:用于去除重复记录,使得视图中每条记录都是唯一的,无法进行删除操作。 4. **伪列ROWNUM**:Oracle中的行号,是系统自动生成的,不能在DML操作中直接修改。 在SQL语言中,查询数据的基本结构是SELECT语句,它包括了SELECT子句来指定查询的列,FROM子句来指定数据来源。例如,`SELECT * FROM departments`会查询departments表的所有列,而`SELECT department_id, location_id FROM departments`则只选择特定的列。 此外,SQL支持使用别名(Column Alias)来重命名列,提高查询的可读性。列别名可以直接跟在列名后面,如`SELECT last_name AS "Employee Name"`,或者在某些情况下需要使用双引号包围,特别是当列名包含空格或特殊字符时。 在涉及计算的SELECT语句中,可以进行四则运算,例如`SELECT last_name, salary, 12*(salary+100) FROM employees`。然而,需要注意的是,与NULL值进行任何算术运算的结果都将为NULL,因为NULL在SQL中表示未知或缺失值,不同于数字0。 在事务控制方面,SQL提供了COMMIT、ROLLBACK和SAVEPOINT等命令来管理数据库事务,确保数据的一致性和完整性。而数据控制语句,如GRANT和REVOKE,用于权限的授予和撤销,以实现数据库的安全管理。 理解和掌握这些SQL基础知识对于有效管理和操作Oracle数据库至关重要。在处理视图时,尤其要注意DML操作的限制,以避免潜在的问题。同时,良好的SQL编写习惯,如清晰的语法结构和有意义的列别名,将极大地提高代码的可读性和维护性。