ORACLE官方SQL语言参考笔记之Oracle SQL简介篇(第一章)

本文简述

此书下载方法:加入群技术交流群(免费)699712384,文件夹为ORACLE官方文档中 
CSDN技术网址 
简书技术网址 
ORACLE官网教程地址 
书名:

中文名:《SQL语言参考笔记》

英文名:《SQL Language Reference》

作者:二次猿

时间:阅读于2018年3月21日

准备工作:详情见:具体可以参考简书和二次猿公众号常用表

注意事项:跳过基本概念和非重要内容,重点举例说明,并且加粗,部分内容可能在其他章节会再次详细介绍,表格如果排版不美观,可以复制到excle进行直观展示,代码部分根据实际情况注释和说明

SQL 的历史

e.f. Codd 博士发表了这篇论文, "一个大型共享数据银行的数据关系模型", 于1970年6月在计算机机械协会 (acm) 期刊上发布, 《印刷》的通讯Codd 的模型现在被接受为关系数据库管理系统 (RDBMS) 的最终模型。语言, 结构化英语查询语言 (续集) 是由 IBM 公司开发的, 使用 Codd 的模型。续集以后成为了 SQL (仍然发音的 "续集)。在 1979年, 关系软件公司 (现在是甲骨文) 推出了第一个商业上可用的 SQL 实现。今天, SQL 被接受为标准的 RDBMS 语言。

SQL 标准

甲骨文致力于遵守业界公认的标准, 并积极参与 SQL 标准委员会的活动。行业认可的委员会是美国国家标准研究所 (ANSI) 和国际标准化组织 (ISO), 隶属于国际电工委员会 (IEC)。ANSI 和 ISO/IEC 都已接受 SQL 作为关系数据库的标准语言。当这些组织同时发布新的 SQL 标准时, 标准的名称符合组织使用的约定, 但标准在技术上是相同的。

最新的 SQL 标准是在2008年7月通过的, 通常称为 SQL:2008。此标准的正式名称为:

  • ANSI/ISO/IEC 9075:2008, "数据库语言 SQL", 1 部分 ("sql/框架"), 2 ("sql/基础"), 3 ("sql/CLI"), 4 ("sql/PSM"), 9 ("sql/医学"), 10 ("sql/OLB"), 11 ("sql/图式"), 13 ("sql/JRT"), ANSI/ISO/IEC 9075-14:2008, "数据库语言 SQL",14部分 ("SQL/XML")

  • ISO/IEC 9075:2008, "数据库语言 SQL", 1 部分 ("sql/框架"), 2 ("sql/基础"), 3 ("sql/CLI"), 4 ("sql/PSM"), 9 ("sql/医学"), 10 ("sql/OLB"), 11 ("sql/图式"), 13 ("sql/JRT"), 和 ISO/IEC 9075-14:2008, "数据库语言 SQL", 第 14 ("sql/XML ")

SQL 的工作原理

SQL 的优点为所有类型的用户提供了好处, 包括应用程序程序员、数据库管理员、管理人员和最终用户。从技术上讲, SQL 是一个数据子语言。sql 的目的是为关系数据库 (如 Oracle 数据库) 提供接口, 所有 sql 语句都是对数据库的说明。在这个 SQL 中不同于一般用途的编程语言, 如 C 和基本。以下是 SQL 的功能:

  • 它将数据集作为组处理, 而不是单独的单元。

  • 它提供了对数据的自动导航。

  • 它使用单独的复杂和强大的语句, 因此独立。流控制语句最初不是 sql 的一部分, 但它们在最近接受的 sql 的可选部分 (ISO/IEC 9075-5: 1996) 中找到。流控制语句通常称为 "持久存储模块" (psm), Oracle sql 的 PL/sql 扩展类似于 PSM。

SQL 允许您使用逻辑级别的数据。只有在您希望操作数据时, 才需要关注实现细节。例如, 若要从表中检索一组行, 可以定义用于筛选行的条件。所有满足条件的行都将在单个步骤中检索, 并且可以作为一个单元传递给用户、另一个 SQL 语句或应用程序。您不需要一个一个地处理这些行, 也不必担心它们是如何物理存储或检索的。所有 SQL 语句都使用优化器 (Oracle 数据库的一部分) 来确定访问指定数据的最有效方法。Oracle 还提供了可用于使优化器更好地执行其工作的技术。

SQL 为各种任务提供语句, 包括:

  • 查询数据

  • 插入、更新和删除表中的行

  • 创建、替换、更改和删除对象

  • 控制对数据库及其对象的访问

  • 保证数据库的一致性和完整性

SQL 以一种一致的语言统一了前面的所有任务。

所有关系数据库的通用语言

所有主要的关系数据库管理系统都支持 sql, 因此您可以将从一个数据库中获得的所有技能传输到另一台。此外, 在 SQL 中编写的所有程序都是可移植的。他们通常可以从一个数据库移动到另一个, 很少修改。

词汇约定

以下用于颁发 sql 语句的词法约定专门用于 sql 的 Oracle 数据库实现, 但在其他 sql 实现中通常是可以接受的。

当您发出 SQL 语句时, 可以在语句定义中的任何位置包含一个或多个选项卡、回车、空格或注释。因此, Oracle 数据库以相同的方式评估以下两个语句:

SELECT last_name,salary*12,MONTHS_BETWEEN(SYSDATE,hire_date) 
  FROM employees
  WHERE department_id = 30
  ORDER BY last_name;

SELECT last_name,
  salary * 12,
        MONTHS_BETWEEN( SYSDATE, hire_date )
FROM employees
WHERE department_id=30
ORDER BY last_name;

在保留字、关键字、标识符和参数中, 情况无关紧要。然而, 案件在文本文字和被引述的名字是重要的。有关文本文字的语法说明, 请参阅"文本文字" 。

注意:

在不同的编程环境中, SQL 语句的终止方式不同。 此文档集使用默认的 SQL * 加号字符, 即分号 (;)。

工具支持

Oracle 提供了许多实用程序来帮助您的 SQL 开发过程:

  • Oracle SQL 开发人员是一种图形化工具, 用于浏览、创建、编辑和删除 (删除) 数据库对象、编辑和调试 PL/sql 代码、运行 sql 语句和脚本、操作和导出数据以及创建和查看报表。利用 SQL 开发人员, 您可以使用标准的 oracle 数据库身份验证连接到任何目标 oracle 数据库架构。连接后, 可以对数据库中的对象执行操作。您还可以连接到选定的第三方 (非 Oracle) 数据库的架构, 如 MySQL、microsoft SQL server 和 microsoft Access、查看这些数据库中的元数据和数据, 并将这些数据库迁移到 Oracle。

  • SQL * 加号是一个与每个 Oracle 数据库服务器或客户端安装一起安装的交互式和批处理查询工具。它有一个命令行用户界面和一个名为iSQL + 的基于 Web 的用户界面。

  • Oracle JDeveloper 是一个多平台集成开发环境, 支持 Java、Web 服务和 SQL 的完整开发生命周期。它提供了用于执行和优化 SQL 语句和可视化架构 diagrammer (数据库建模器) 的图形界面。它还支持编辑、编译和调试 PL/SQL 应用程序。

  • Oracle 应用程序 Express 是一个托管环境, 用于开发和部署与数据库相关的 Web 应用程序。SQL 研讨会是 Oracle 应用程序 Express 的一个组件, 它允许您从 Web 浏览器查看和管理数据库对象。sql 研讨会提供对 sql 命令处理器和 sql 脚本存储库的快速访问。

oracle 调用接口和 oracle precompilers 允许您在过程编程语言中嵌入标准 SQL 语句。

  • Oracle 调用接口 (保监) 允许您在 C 程序中嵌入 SQL 语句。

  • Oracle precompilers, pro * c/c++ 和 Pro * COBOL, 解释嵌入式 SQL 语句, 并将它们转换成可以由 c/c++ 和 COBOL 编译器理解的语句。

大多数 (但并非全部) oracle 工具也支持 oracle SQL 的所有功能。此引用描述 SQL 的完整功能。如果使用的 Oracle 工具不支持此完整功能, 则可以在描述该工具的手册中找到有关限制的讨论, 例如 SQL * 加用户指南和引用.


猜你喜欢

转载自blog.csdn.net/huyingzuo/article/details/80299806