mysql 手册中的语法描述是用的什么描述语言?

mysql 手册中的语法描述是用的什么描述语言? 如:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
{ LIKE old_tbl_name | (LIKE old_tbl_name) }

create_definition:
col_name column_definition
| [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...)
[index_option] ...
| {INDEX|KEY} [index_name] [index_type] (index_col_name,...)
[index_option] ...
| [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY]
[index_name] [index_type] (index_col_name,...)
[index_option] ...
| {FULLTEXT|SPATIAL} [INDEX|KEY] [index_name] (index_col_name,...)
[index_option] ...
| [CONSTRAINT [symbol]] FOREIGN KEY
[index_name] (index_col_name,...) reference_definition
| CHECK (expr)

如何去读这种语法?

阅读 4.1k
3 个回答

有的书的导读、前言中有云:
[]:可选项
a|b|c...:可选内容有a、b、c等
():函数参数?

  • [xxx] 表示可有可无
  • xxx | yyy 表示 xxx 或者 yyy
  • {zzz} 表示必选其一, 其中zzz必然是xxx|yyy|...的格式
  • xxx, ... 表示一个或者多个,与xxx同类型内容的列表,如果有多个,用,隔开
  • aaa_bbb_ccc 下划线命名法,表示一个变量(根据其语义),或者嵌套另一个语法定义,后文会有其语法展开

其他内容,包括但不限于()大写单词,都是语法中固定的必要内容

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题