《Oracle SQL疑难解析》——第1章 基础

第1章 基础

Oracle SQL疑难解析
本章针对SQL语句的核心构建模块,罗列了很多的基本操作诀窍,以便让初学者快速上手,或者让有经验的读者重温技术关键点。本章主要内容包括对Oracle数据库表中数据的查询、更改、删除,以及进行此类操作时需要输入的一些常用的选项。

对那些已有很好SQL基础的人员,我们建议选择性地翻阅本章,仅看你感兴趣的章节,而不是全盘通读。为节约读者的时间,我们在本章的一开头,就列出了一两个精华的操作指导,这样你只需花很少的时间,就能掌握关键内容。你也可以把本章学到的内容和后面章节的内容进行搭配组合,形成自己想要的SQL语句。

说明:

我们将快速地完成基础知识的回顾,在以后的语句讲解中,也不会拘泥于语法、语句选项的图解。当你看到暂时不能理解的SQL 命令或技术说明时,请别担心,只要你动手在你的Oracle测试数据库中练习一下,就能感受到它们的意义。还有一些书籍也可以用来学习SQL的基本知识,如Beginning Oracle SQL(de Haan, Fink, Jørgensen, Morton)、Beginning SQL Queries(Churcher)。

时间: 2024-09-14 12:09:20

《Oracle SQL疑难解析》——第1章 基础的相关文章

《MySQL排错指南》——第1章 基础

第1章 基础 MySQL排错指南当解决疑难问题的时候,为了节约时间,你可以从最简单的情况开始,然后一步步从简入繁.在MySQL支持团队工作的时候,我每个月解决成百上千的问题.其中的大部分都是从零散的请求信息开始的,最终的解决方案可能也很基础,我们将会从一些示例中看到这点.不过有些时候,我们确实会遭遇很大的挑战.所以,我们应时刻牢记从最基础的开始. 典型的基础类问题不外乎执行一个查询但是返回非预期的结果.这类问题的表现形式可能是很明显的错误,也可能是在你明知有匹配记录的情况下却没有返回结果,或者其

《MySQL排错指南》——第4章 MySQL环境

第4章 MySQL环境 MySQL排错指南MySQL服务器在运行环境中不是孤立的.即使它运行在专用服务器环境中,你依然需要考虑硬件资源和操作系统限制.在共享环境中,MySQL服务器仍然会受到其他进程的影响.关于MySQL操作系统层面的调优,这个主题可以另写一本书了.所以本章不深入讨论,只是从排错角度切入并展开.MySQL的其中一个优势就是能运行在不同环境中,但这也导致了本章很难将其细化说明.最终我决定写下你需要关心的部分,剩下的留给你去查找操作系统对应的手册来决定如何调优.

《MySQL排错指南》导读

前言 MySQL排错指南我从2006年5月开始,作为首席技术支持工程师在MySQL AB公司MySQL支持团队的bug校验组工作,然后我到了Sun公司,最后是在Oracle公司.在日常工作中,我经常遇到用户受困于某个问题而不知所措的情况.虽然有已经被证实可用的方法去定位并快速修复问题,但是用户往往很难从大量的信息中筛选出这些可用的信息.尽管有数以千百计的著名书籍.博文和网页都详细介绍了MySQL服务器方方面面的问题,但这正是我感觉困难的地方:这些信息都关注于如何让MySQL服务器正常地工作,而忽

《MySQL排错指南》——1.7 当服务器无响应的时候

1.7 当服务器无响应的时候 有时候,MySQL客户端会收到严重的错误消息"在请求中丢失与服务器的连接"或者"服务器已停止".尽管我希望你永远不会遇到这个错误,但是有所准备总是有好处的.由MySQL安装本身引起的这个问题主要有两个原因:服务器问题(最有可能是崩溃)或者滥用连接选项(通常是超时选项或者max_allowed_packet). 第3章将讨论连接相关的配置.第4章会讨论硬件问题和第三方软件相关的问题.这里简短地介绍一下如果遇到服务器崩溃该做些什么. 首先,

《MySQL排错指南》——4.1 物理硬件限制

4.1 物理硬件限制 对性能有不切实际的期望是通常会犯的错.我们要求MySQL服务器在忽略硬件组件延迟的情况下进行优化.因此,理解什么导致了延迟很重要. 下面列出了影响MySQL服务器的硬件资源: 内存CPU内核数量磁盘I/O网络带宽我们依次讨论每个细节. 4.1.1 内存 内存对于MySQL是非常宝贵的资源.服务器在没有磁盘交换的情况下运行很快.理想情况是数据驻留在内存中.因此,在物理内存的限制内合理配置缓冲区是非常重要的.关于这一点,1.6.4小节和3.9.3小节提供了更多详细的介绍和指导.

《MySQL排错指南》——1.1 语法错误

1.1 语法错误 这个错误听起来十分简单,但仍可能很难发现.我建议你像处理其他问题一样,非常细心地查找可能出现的SQL语法错误. 类似如下错误,很容易被发现: 在这个示例中,很显然用户少转入了个"m",错误消息也很清楚(输出结果根据页面设置进行宽度调整): 遗憾的是,不是所有的语法错误都这么显而易见.我曾经处理过一个问题,它的查询语句是这样的: 这是一个版本迁移导致的问题:该语句在5.0版本中运行正常,但是在5.1版本中出现错误.问题的原因在于,在5.1版本中,"access

《MySQL排错指南》——1.3 当错误可能由之前的更新引起时

1.3 当错误可能由之前的更新引起时 如果SELECT查询返回了非预期的结果集,这并不总是意味着查询语句本身有错误,也有可能是因为你以为已经进行了插入.更新或者删除等操作,而事实上它们并未生效. 在你调查这种可能之前,你应该先完全仔细检查前一节讨论的SELECT语句编写错误的问题.在SELECT语句编写正确并且能够返回你想要的值的情况下,现在我开始调查由数据本身的问题导致错误的可能性.为了确认问题是由数据本身而非SELECT语句产生的,我尝试精简语句,使其变成某个独立表的简单查询.如果是小表,那

《MySQL排错指南》——1.9 许可问题

1.9 许可问题 MySQL有复杂的权限方案,这使得你可以精确地设置哪些用户和主机可以或不可以执行这个或那个操作.从5.5版本开始,MySQL也有了可插拔式的身份验证模式. 尽管它有很多优势,但是这个方案很复杂.例如,让user1@hostA.user2@hostA和user1@hostB不同会很容易混淆它们的权限.当用户名相同而主机名变化的时候更是如此. MySQL允许在对象和连接层面设置访问规则.可以限制某个用户对于特定的表.列等的访问权限. 用户通常会遇到两类权限问题: 应该有权限连接到服

《MySQL排错指南》——1.2 SELECT返回错误结果

1.2 SELECT返回错误结果 这是用户反馈的另一个非常常见的问题,主要的现象有:用户看不到更新的结果.展示的顺序错误或者查询到了非预期的结果. 这个问题主要有两方面的原因:一方面是你的SELECT查询有误:另一方面是数据库中的数据和你想象的不同.我先介绍第一种情况. 在我规划本节示例的时候,我考虑要么使用真实的示例,要么使用我自己设计的小场景.真实的示例可能占用大量篇幅,但是我自己设计的示例可能对你没有什么帮助,因为没有人会写出那样的代码.因此,我选择使用典型的真实示例作为示例,只是大幅简化

《MySQL排错指南》——1.4 获取查询信息

1.4 获取查询信息 正如前一节看到的一样,数据库会返回一些关于每个查询的重要信息,有些信息直接展现在MySQL的访问客户端中,而有些信息则需要通过如SHOW WARNINGS等命令才能得到.当从应用程序中调用SQL语句的时候,获取这些返回信息并确认没有异常情况发生同样重要.所有语言的MySQL API都提供了获取服务器返回信息的接口.本节将讨论这些接口.这里仅涉及C的API,因为我必须选择一种语言的API,并且大部分其他语言的API都是基于C的API的[2]. 受影响的行数我们从之前见过的输出