天天看点

《SQL初学者指南(第2版)》第1章 关系型数据库和SQL

第1章 关系型数据库和sql

sql初学者指南(第2版)

正如前言中所提到的,在与关系型数据库中的数据进行交互的时候,sql是使用最广泛的软件工具。在这方面,sql利用了自身的语言和逻辑两方面的要素。作为一种语言,sql的独特语法用到了很多的英语单词,诸如where、from和having。作为一种逻辑表达,它指定了在关系型数据库中检索和修改数据的细节。

考虑到了这两方面因素,我们在本书中介绍sql的各个方面的时候,尝试强调语言和逻辑这两部分。在所有语言中,无论它们是计算机语言还是口语,我们都需要学习和记忆实际的单词。因此,我们以逻辑顺序来介绍sql语句中出现的不同的关键字,并且每次介绍一个关键字。当学习完每一章之后,你就能够在之前的“单词量”的基础上,学习新的关键字以及使用它与数据库交互的激动人心的潜力。

除了单词本身,还有一些逻辑有待考虑。sql语句使用的单词有独特的逻辑含义和意图。sql的逻辑和语言一样重要。和所有的计算机语言一样,sql经常使用不止一种方法来指定任何所需的目标。这些方法之间的细微差别,可能包括语言和逻辑两个方面。

让我们开始学习这门语言!在熟悉了sql的语法之后,你可能会发现,sql命令的思维方式和英语语句很类似,并且也能表达某种含义。

例如,对比下面这句话:

和这条sql语句:

这条sql语句表示我们想要从数据库的customers表中获取city和state字段,并且希望结果按照state来排序。我们稍后详细介绍这条语句的具体细节。

在这两个示例中,我们指定了想要的东西(hamburger/fries或city/state),从哪里获取(value菜单或customers表),以及一些额外的指令(尽快去做或将结果按照state来排序)。

但是在开始之前,让我们先解决一个小问题:sql这个单词是怎么念的?事实上有两种方法。一种方法是直接按照单个的字母来发音,就像“s-q-l”。另一种选择,也是本书作者的首选,把这个单词读作“sequel”。这样少一个音节,也更容易读出来。然而,这个问题没有一个标准的答案。具体怎么念,实际上是个人的喜好。

大多数人都认同,字母s-q-l的含义表示结构化查询语言(structured query language)。然而,即使在这一点上,也并没有达成完全的共识。有些人认为sql根本不表示任何含义,因为它是从一种叫做sequel的、古老的ibm语言派生而来,而这门古老的语言实际上并不代表结构化查询语言。