MySQL开发者SQL权威指南-附录

时间:2025-07-07

MySQL开发者SQL权威指南的附录文档

附录A SQL语法

A.1 简介

在这个附录中,我们介绍用来定义语句的范式方法,给出了本书中讨论的SQL语句的定义,并且列出了保留字。这个附录中的定义可能和前面章节中的内容有所不同。出现这种情况的主要原因是,在那些章节中,我们一步一步地讲解了语句和概念,为了避免涉及过多的细节,有时候使用了定义的简单版本。本附录则包含完整的定义。

A.2 BNF范式

在这个附录以及整本书中,我们都使用了一种形式化表示方法来描述所有SQL语句和常用元素的语法。这种表示由巴科斯范式(Backus Naur Form,BNF)衍生而来,BNF的命名就是为了纪念John Backus和Peter Naur Form。我们使用的元符号的意义基于SQL标准中的元符号之上。

BNF采用了一种具有替换规则和生成规则的语言,该语言由一系列的符号组成。每个生成规则定义了一个符号。一个符号可能是一条SQL语句、一个表名或者一个冒号。终结符(terminalsymbol)是一种特殊类型的符号。除了终结符以外的所有其他的符号,都根据一条生成规则中的其他符号来定义。终结符的例子是单词CLOSE和分号。

我们可以把一个生成规则和一个元素的定义进行比较,其中,该元素的定义用到了其他地方定义的元素。在这个例子中,一个元素就等于一个符号。

如下的元符号并没有构成SQL语言的一部分,但是也属于范式技术:

< >::=|[ ]...{ };"

现在,我们来说明这些符号的含义。

< >符号

尖括号(<>)表示非终结符。对于每一个非终结符都存在一个生成规则。我们用小写字母来表示非终结符的名字。非终结符的两个例子就是<select statement> 和<table reference>。

::=符号

::=符号用在一个生成规则中,把一个定义的非终结符(位于::=符号的左边)和它的定义(位于::=符号的右边)分隔开来。::=符号应该读作“定义为”。参见下面的CLOSE CURSOR语句的生成规则:

<close cursor statement> ::= CLOSE <cursor name>

MySQL开发者SQL权威指南-附录.doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219