精通Oracle SQL(第二版)读书笔记 - 第一章 SQL核心

精通Oracle SQL(第二版)读书笔记

第一章 SQL核心

数据库接口

1.数据库接口:
Oracle数据库的本地接口界面是OCI,OCI 将由 Oracle内核传递而来的查询语句发送到数据库。其他语言对应的接口:Oracle JDBC-OCI、ODD.Net、Oracle 预编译器、Oracle ODBC以及Oracle C++ 调用接口OCCI驱动

SQL*Plus

配置:$ORACLE_HOME/network/admin/tnsnames.ora 文件中登记想要连接的数据库。

常用命令:

  • sqlplus /nolog: 启动sqlplus但不显示登录到数据库后的提示。

  • help index: 显示可用的命令

  • help set: 用来定制工作环境最基本的命令,但退出sqlplus或者关闭时,这些设置命令不会被保存。可在login.sql文件中修改sqlplus环境设置。

在login.sql文件中修改配置

在sql* plus启动时默认读取的两个文件,1.$ORACLE_HOME/sqlplus/admin 目录下的 glogin.sqllogin.sql 文件。其中,login.sql中所有命令的优先级比glogin.sql高。Oracle log之后,启动sqlplus和在sqlplus中运行connect都会同时读取这两个文件。

执行命令

在sql* plus中执行的是两种命令:sql语句SQL * Plus命令

SQL语句用/ 结束输入


    1. 可在命令后和另起一行使用;
    1. /只能在下行中被识别。

sqlplus缓冲区
sqlplus执行 .sql 文件方式:1.直接输入 .sql,2.输入@或者START *,可以省略后缀。

五大核心SQL语句(SELECT, INSERT, UPDATE, DELETE, MERGE)

1. SELECT 语句
Oracle基于查询成本的优化器(Cost-Based Optimizer,CBO)用来产生实际的执行计划。
- select语句

处理过程中首先处理的是From子句,多个From则每个步骤想象成一个临时数据集,每经过一个FROM,则进行一步筛选,得最终结果数据集。

- From子句

子句可以包含表、视图、物化视图、分区或者子分区。处理联结时:交叉联结(笛卡尔乘积)、内联结、外联结。

- HAVING子句

将分组汇总后的查询结果限定为只满足该条件的数据行。GROUP BY 和 HAVING 子句的位置可以互换,但是一般情况下GROUP BY 放在前面。

- ORDER BY子句

Oracle必须在其他所有子句都执行完毕之后按指定的列进行排序结果集。

2. INSERT 语句
Insert语句可以向表、分区或者视图中添加行,可单表或者多表插入。
INSERT ALL WHEN 条件1 THEN INTO table1
           WHEN 条件2 THEN INTO table2
           WHEN 条件3 THEN INTO table3
            ...
           SELECT ** FROM table4;

当指定ALL时,这个语句就会执行无条件的多表插入,可以用FIRST替换,此时指定按照WHEN子句在语句中的顺序进行判断 。

3. UPDATE 语句
该语法由 UPDATE、SET、WHERE 组成
4. DELETE 语句
由 DELETE、WHERE、FROM 组成
5. MERGE 语句
MERGE 语句可以按条件获取要更新或者插入到表中的数据行,然后从 1 个或者多个源头对表进行更新或插入行。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于oracle技术人员而言,怎么强调掌握pl/sql的重要性都不过分。但是,真正精通pl/sql绝非易事。事实上,在现有的oracle应用程序中充斥着太多质量不佳的pl/sql代码,它们要么没有充分利用oracle特有的功能,要么是在误用或者滥用。这种现象导致了许多对pl/sql本身能力不公正的批评。.    本书由全球oracle技术专家组织oaktable network的多位大师联手编写,是为pl/sql正名的名著。与市面上许多pl/sql图书只是纸上谈兵、局限于语法和功能本身不同,本书从实战出发,讲述如何正确、充分地运用语言特性,除了pl/sql的基本功能之外,也包括数据的高效处理、安全、触发器、高效的调试技术等。作者在讲解每一个特性 时都辅以经过实战检验的示例,更与读者分享了大量多年积累的独家经验。有本书在手,你将学会如何充分发挥pl/sql的巨大潜能,编写出可靠、高效且易于 维护的一流程序。... 作译者   Connor McDonald 世界著名的Oracle技术专家,Oracle认证专家,具有十多年的Oracle系统开发经验,以精深的PL/SQL造诣享誉业界。他的个人网站www.oracledba.co.uk是极具影响的Oracle技术资源。.   Chaim Katz Oracle认证专家,擅长数据库管理和PL/SQL开发,为各种Oracle技术期刊写过大量文章。   Christopher Beck Oracle公司资深技术专家,专攻核心数据库技术和Web应用开发。除本书外,他还与Joel R. Kallman和Tom Kyte等人合著了畅销书Beginning Oracle Programming。..   Joel R. Kallman Oracle公司软件开发总监.   David C. Knox 世界著名的Oracle安全专家,Oracle公司SolutioncEngineering集团的高级总监....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值