关键字
SQL里有保留字和非保留字之分。根据标准,保留字决不能用做其他标识符。非保留字只是在特定的环境里有特殊的含义,而在其他环境里是可以用做标识符的。
标识符的命名需要遵守如下规范:
-
标识符需要为字母、下划线、数字(0-9)或美元符号($)。
-
标识符必须以字母(a-z)或下划线(_)开头。
说明:
-
此命名规范为建议项,非强制项。
-
特殊情况下可以使用双引号或者反引号(`)规避特殊字符报错。
-
相比于原始的openGauss,dolphin对于关键字的修改主要为:
- 新增
MEDIUMINT,AST,AUTOEXTEND_SIZE,AVG_ROW_LENGTH,CHECKSUM,COMPRESSION,CONTAINS,DATABASES,DELAY_KEY_WRITE,DESCRIBE,DISK,ENGINE,ENGINE_ATTRIBUTE,EXPANSION,EXTENDED,FLUSH,HOSTS,INPLACE,INSERT_METHOD,KEY_BLOCK_SIZE,KEYS,LOGS,LONGTEXT,MAX_ROWS,MEMORY,MIN_ROWS,MOD,MODIFIES,NGRAM,OPTIMIZE,PACK_KEYS,PARTITIONING,PROCESSLIST,PROXY,QUARTER,QUICK,READS,REORGANIZE,REPAIR,ROUTINE,ROW_FORMAT,SCHEMAS,SQL,STATS_AUTO_RECALC,STATS_PERSISTENT,STATS_SAMPLE_PAGES,STATUS,TEMPTABLE,TINYTEXT,MEDIUMTEXT,TRIGGERS,UNDEFINED,USE,YEAR_MONTH,ZEROFILL,COUNT
,作为非保留关键字。 - 关键字
DATE
可以作为函数使用。 - 新增
LAST_DAY
,作为保留关键字,用于在语法层面区别openGauss原有LAST_DAY函数和dolphin中LAST_DAY函数。 - 新增
GET_FORMAT
,作为非保留关键字,用于在语法上识别GET_FORMAT函数。 - 新增
DAY_HOUR,DAY_MINUTE,DAY_SECOND,DAY_MICROSECOND,HOUR_MINUTE,HOUR_SECOND,HOUR_MICROSECOND,MINUTE_SECOND,MINUTE_MICROSECOND,SECOND_MICROSECOND
,作为非保留关键字,用于EXTRACT函数在语法上识别对应单位。 - 改变关键字
AUTHID
等级,由保留关键字变为非保留(不能是函数或类型)关键字,使其可以作为表名列名使用。 - 改变关键字
BODY、ENUM
等级,由非保留关键字变为保留关键字。 - 新增
DUAL,CURTIME,DELAYED,DISTINCTROW,LAST_DAY,LOW_PRIORITY,NOW,UTC_DATE,UTC_TIME,UTC_TIMESTAMP
,作为保留关键字。 - 新增
AGAINST,DIV,FULLTEXT,REGEXP,RLIKE,SOUNDS,XOR
,作为保留(可以是函数或类型)关键字。 - 改变关键字
BINARY
等级,由保留(可以是函数或类型)变为非保留(不能是函数或类型)关键字。 - 新增
CONVERT,DATETIME,FORMAT,IFNULL,JSON_OBJECT,LOCATE,MEDIUMINT,MID,NO_WRITE_TO_BINLOG,SUBSTR,TIMESTAMPADD,UNSIGNED,VARBINARY
,作为非保留(不能是函数或类型)关键字。 - 改变关键字
FIXED、IF、TEXT
等级,由非保留关键字变为非保留(不能是函数或类型)关键字。 - 改变关键字
IGNORE、INDEX
等级,由非保留关键字变为保留(可以是函数或类型)。 - 改变关键字
CAST、LAST_DAY、SYSDATE、ANY
等级,由保留字调整为非保留(不能是函数或类型)关键字。 - 改变关键字
REJECT、LESS、MODEIFY、USER、COLLATION、FREEZE、VERBOSE、DO、END
由保留字调整为非保留关键字。 - 改变关键字
RECYCLEBIN、NOTNULL、BODY
由保留(可以是函数或类型)变为非保留关键字。 - 移除关键字
ANALYSE、BUCKETS、ROWNUM、EXCLUDED、MINUS
。 - 移除关键字
COMPACT
,由保留(可以是函数或类型)调整为非关键字。 - 新增关键字
WEEK_P
。