语法描述语言 - mysql 手册中的语法描述是用的什么描述语言?
怪我咯
怪我咯 2017-04-17 11:50:15
[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)

如何去读这种语法?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
伊谢尔伦

前面两个回答,都没有涉及到是什么的。我来...

这个语言,比较高大上: Backus Normal Form 。

是描述语言的语言。meta-lang 。

http://zh.wikipedia.org/wiki/%E5%B7%B4%E7%A7%91%E6%96%AF%E8%8C%83%E5%BC%8F

迷茫

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

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号