Oracle SQL & PL/SQL 学习:查询语句与DDL/DML/DCL解析

需积分: 9 5 下载量 138 浏览量 更新于2024-07-24 1 收藏 1.38MB DOC 举报
"Oracle SQL & PLSQL学习笔记涵盖了SQL的基本查询语句,包括DML、DDL和DCL三种语言的用途。笔记中还涉及到SELECT语句的语法,并以emp表为例进行说明。emp表包含员工的上司编号、入职日期、工资和奖金等信息。此外,笔记还讨论了DDL的操作,如CREATE、ALTER、DROP和TRUNCATE,特别是TRUNCATE语句在删除表数据时的高效性与与DELETE语句的区别。" Oracle SQL是用于管理和操纵Oracle数据库的标准查询语言,主要包括三个部分:DML(Data Manipulation Language)、DDL(Data Definition Language)和DCL(Data Control Language)。 1. DML,数据库操作语言,主要用于数据的检索、插入、更新和删除。例如,SELECT语句用于获取数据,INSERT用于插入新数据,UPDATE用于修改现有数据,而DELETE用于删除指定的行。 2. DDL,数据定义语言,负责创建、修改和删除数据库的结构。CREATE命令用于创建新的数据库对象,如表、视图、索引等;ALTER用于修改已存在的对象;DROP命令则用于彻底删除对象;TRUNCATE是一个特殊的DDL命令,用于快速清空表中的所有数据,但保留表结构。 3. DCL,数据控制语言,用于控制数据库的访问权限和安全。它包括GRANT和REVOKE语句,分别用于赋予用户权限和撤销权限。 在SQL查询中,SELECT语句是最基本的查询工具,其语法复杂而强大,可以用于选择数据库中特定的列、行或满足特定条件的数据。在示例中的emp表中,可能包含如员工ID、姓名、职位、薪水等字段,通过SELECT可以组合不同的条件进行数据筛选。 关于TRUNCATE与DELETE的区别,TRUNCATE在性能上优于DELETE。TRUNCATE操作会立即删除整个表的数据,释放数据页,而不记录每条记录的删除操作,因此在处理大量数据时速度更快,占用的事务日志空间更小。相比之下,DELETE会逐行删除数据并记录每行的删除操作,适合于需要保留删除历史或按条件删除少量数据的情况。如果需要保留表的自增列(如ID)的序列号,应使用DELETE而不是TRUNCATE。 PL/SQL是Oracle数据库的编程语言,它扩展了SQL的功能,允许编写过程化代码,如循环、条件判断、异常处理等,广泛应用于数据库的程序开发和存储过程。虽然在提供的摘要中没有直接涉及PL/SQL的内容,但在深入学习Oracle数据库时,它是与SQL密切相关的另一个重要概念。