《SQL初学者指南(第2版)》——1.1 SQL是什么

1.1 SQL是什么

那么SQL到底是什么呢?简而言之,SQL就是为了维护和使用关系型数据库中的数据而使用的一种标准的计算机语言。简单来说,SQL就是能让用户和关系型数据库进行交互的一种语言。SQL语言有很长的发展历史,很多组织都对它的发展做出了贡献,它最早的历史可以追溯到20世纪70年代。1986年,美国国家标准局(American National Standards Institute,ANSI)发布了该语言的第一套标准,从那时起,它经历过多次的修订。

一般来讲,SQL语言有3个主要的组成部分。第1个部分叫做数据操纵语言(Data Manipulation Language,DML)。SQL语言的这个模块让我们可以检索、修改、增加或删除数据库中的数据。第2个部分叫做数据定义语言(Data Definition Language,DDL)。DDL使得我们能够创建和修改数据库本身。例如,DDL提供了ALTER语句,它让我们可以修改数据库中的表的设计。第3个部分是数据控制语言(Data Control Language,DCL),用于维护数据库的安全。

许多主要的软件厂商,像Microsoft和Oracle,为了其各自的目的,都会修改这个标准,并且对该语言添加大量的扩展和修改。尽管每个厂商对于SQL都有自己独特的解释,但是仍然会有一个底层的基础语言,而它对于所有厂商几乎都是一致的。这个基础语言,也正是本书所要介绍的内容。

作为一种计算机语言,和你可能熟悉的其他语言(如Visual Basic或C++)相比,SQL并不相同。其他语言本质上往往趋向于过程化。这就意味着,它们允许你指定特定的过程来完成想要实现的任务。SQL更趋向于一种声明式语言(Declarative Language)。在SQL中,经常用一条单独的语句来声明预期的目标。SQL的结构之所以如此简单,是因为它只关注关系型数据库,而不是整个计算机系统。

关于SQL语言,还有一点需要澄清,人们经常会把SQL语言和具体的SQL数据库搞混。有很多的软件公司销售数据库管理系统(Database Management System,DBMS)。通常,这些类型的软件包中的数据库称为SQL数据库,因为SQL语言是管理和访问这些数据库中的数据的主要方法。一些厂商甚至把SQL作为其数据库名称的一部分。例如,Microsoft把它最新的数据库叫做SQL Server 2016。但实际上,更准确地讲,SQL是一种语言,而不是一个数据库。本书的重点是介绍SQL的语言,而不是介绍任何一种特定的数据库。

时间: 2024-10-02 20:50:04

《SQL初学者指南(第2版)》——1.1 SQL是什么的相关文章

《SQL初学者指南(第2版)》导读

前言 SQL初学者指南(第2版) SQL(Structured Query Language)是用于和关系数据库交互的主要语言.本书的目标是成为SQL语言的一本有用的入门指南. 本书的另一个假想的书名是The Logic of SQL(<SQL的逻辑>).这是因为,和所有的计算机语言一样,SQL语言和冷冰冰.硬邦邦的逻辑而不是和英语词汇更加相关.尽管如此,本书的书名中还是保留了Language(语言)这个词,这有几方面的原因. 1.首先,SQL中基于语言的语法和其他的计算机语言有所区别.和其他

《SQL初学者指南(第2版)》——第2章 基本数据检索

第2章 基本数据检索 SQL初学者指南(第2版)关键字:SELECT.FROM 在本章中,我们将介绍SQL中最重要的主题:如何从数据库中检索数据.无论是在大企业还是小企业,SQL开发人员最常遇到的需求就是报表需求.当然,把数据放入到数据库中也不是轻松的活儿.不过,一旦数据存在于数据库之中了,业务分析师的精力就转向可供他们使用的数据财富,以及希望从所有数据中获取有用的信息.SQL语言就有了用武之地. 本书所介绍的数据检索的重点,和现实世界中SQL开发人员所面临的需求密切相关.要帮助企业破解数据库的

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

第1章 关系型数据库和SQLSQL初学者指南(第2版)正如前言中所提到的,在与关系型数据库中的数据进行交互的时候,SQL是使用最广泛的软件工具.在这方面,SQL利用了自身的语言和逻辑两方面的要素.作为一种语言,SQL的独特语法用到了很多的英语单词,诸如WHERE.FROM和HAVING.作为一种逻辑表达,它指定了在关系型数据库中检索和修改数据的细节. 考虑到了这两方面因素,我们在本书中介绍SQL的各个方面的时候,尝试强调语言和逻辑这两部分.在所有语言中,无论它们是计算机语言还是口语,我们都需要学

《SQL初学者指南》——1.3 Microsoft SQL Server、Oracle和MySQL

1.3 Microsoft SQL Server.Oracle和MySQL SQL初学者指南尽管我的目标是介绍SQL的核心语言,因为它适用于所有的实现,但是我也会提供SQL语法的一些具体示例.因为各个厂商的语法各异,所以我决定重点关注如下这3种数据库所使用的SQL语法: Microsoft SQL Server:Oracle:MySQL.我会在本书的正文中介绍Microsoft SQL Server的语法.然后,如果这3种数据库之间有任何的差异,我会像下面这样,专门指出MySQL或Oracle的

《SQL初学者指南》——1.8 空值

1.8 空值 SQL初学者指南 表中每个单独列的另一个重要属性是,该列是否允许包含空值.空值表示某个特定的数据元素没有数据.按照字面意思解释就是没包含数据.空值不等同于空格或空白.从逻辑上讲,空值和空格要区分对待.在第8章中,我们会详细介绍如何检索包含空值的数据. 许多SQL数据库在显示带有空值的数据时,使用大写的单词NULL来表示.这么做是要让用户能够识别它包含的是一个空值,而不是一个空格.我也会遵循这个惯例,在书中用NULL来强调它表示一个特殊类型的值. 数据库的主键不能包含NULL值.这是

《C语言编程——零基础初学者指南(第3版)》一第2章 编写第一个C程序2.1 概述

第2章 编写第一个C程序 C语言编程--零基础初学者指南(第3版)本章内容 编写第一个程序使用main()函数识别数据类型本章将教你如何编写第一个C程序!如果无法理解本章的所有内容,请不要着急.放轻松些,你的目标是先熟悉C程序.经过本章的学习,你要学会识别所有C程序的共同元素. 2.1 概述 C语言编程--零基础初学者指南(第3版)本节将介绍一个简短但完整的C程序,并讨论附录B中的另一个程序--"Draw Poker扑克游戏".这两个程序都包含一些共同和不同的元素.第一个程序相当简单:

《SQL初学者指南》——1.7 数据类型

1.7 数据类型 SQL初学者指南主键和外键为数据库表添加了结构.它们确保了数据库中所有的表都是可访问的,表之间有正确的关联.表中的每一列的另一个重要属性是数据类型. 数据类型是定义一个列所能包含数据的类型的一种方法.要为每个表中的每一列都指定一个数据类型.遗憾的是,各种关系型数据库所允许的数据类型和它们所代表的含义,有很大的不同.例如,Microsoft SQL Server.MySQL和Oracle,各自都有超过30种不同的可用数据类型. 即使只有3种数据库,我们都不可能去介绍每种可用的数据

《SQL初学者指南》——1.9 SQL的重要性

1.9 SQL的重要性 SQL初学者指南在我们离开关系型数据库的主题之前,为了让你对关系型数据库的优点和SQL的重要性有更深入的了解,我们来回顾一下历史. 回到计算机的石器时代(20世纪60年代),人们通常把数据保存在磁带上,或者保存在磁盘存储器上的文件中.使用诸如FORTRAN和COBOL这样的语言编写的计算机程序,通常通过输入文件进行读取,并且一次只处理一条记录,最终将数据移动到输出文件.过程必然是很复杂的,因为需要把过程分解成多个单独的步骤,涉及临时表.排序以及多次数据传递,直到能够生成正

《SQL初学者指南》——1.10 小结

1.10 小结 SQL初学者指南本章介绍了关系型数据库的背景知识,以便我们能继续学习主要的话题,这些话题涉及从数据库中检索数据.我们已经讨论过关系型数据库的一些重要的特性,诸如主键.外键和数据类型.我们还介绍了数据中可能存在的NULL值.我们会在第8章中进一步讨论空值,在第18章中,再回到数据库维护的一般性主题,并在第19章中介绍数据库设计. 为什么和数据库设计相关的所有重要的主题,都放在了本书后边去介绍?在现实世界中,先要设计和创建数据库,然后才能检索数据.为什么在本书中,我没有遵循相同的顺序

《SQL初学者指南》——1.4 其他数据库

1.4 其他数据库 SQL初学者指南除了Microsoft SQL Server.Oracle和MySQL以外,还有很多其他的SQL数据库软件.一些比较流行的软件如下所示: Microsoft的Microsoft Access:IMB的DB2:IBM的Informix:Sybase的SQL Anywhere:开源数据库PostgreSQL.在列出的这些数据库中,Microsoft Access有一些特别,它对于那些想要学习SQL语言的新手特别有用.其实,Access是关系型数据库的一个图形化界面