本文档使用 BNF (Backus Naur Form),它是用于定义编程语言的表示法。BNF 通过使用一组生产规则并使用一组符号来描述语法的语法。
BNF 中使用的符号
符号描述< >尖括号用于括起 SQL 语言的语法元素(BNF 非终端)的名称。::=定义运算符用于提供在生产规则中,在运算符左侧显示的元素的定义。[ ]方括号用于表示公式中的可选元素。可以指定或忽略可选元素。{ }将公式中的组元素括起来。可以在括号符号中指定重复元素(零个或多个元素)。|备选运算符指示公式在栏后面的 部分是条形前面部分的备选项。...省略号表示元素可以重复多次。如果省略号出现在分组元素之后,则会重复用大括号括起来的分组元素。如果省略号出现在单个元素之后,则仅重复该元素。!!引入普通英语文本。当语法元素的定义未在 BNF 中表示时使用。
BNF 最低条款表示
在整个本文档中使用的 BNF 中,每个语法术语都定义为下面所示的最低术语表示之一。
::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
::= a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
::= !!any character.
::= ,
::= $
::= "
::= >
::= #
::= [
::= {
::= <
::= .
::= |
::= ]
::= }
::= + | -
::= '
::= _
::=
::= E
::= | | | | | | | | | | | | ( | ) | ! | % | * | , | / | : | ; | = | ? | @ | \ | ^ | `
::= [[]]
|
::=
::= { | }[{ | | | - }...]
::= simple_identifier | special_identifier
::=
::= |
::= { | | | | }... | ...
::=
::=
::= { | } [{ | | | | }...]
::= ...
::= []
::= []
::= [...]
::= !! CESU-8 string excluding any characters listed in
::= ...
::= |
::=