关键字是在 SQL 中具有意义的单词。某些关键字(例如 SELECT、DELETE 或 BIGINT)是保留字,需要特殊处理才能用作标识符,例如表名和列名。内置函数的名称也可能如此。
非保留关键字允许在不加引号的情况下用作标识符。保留字如果按照 第 11.2 节“模式对象名称” 中所述加引号,则允许用作标识符。
mysql> CREATE TABLE interval (begin INT, end INT);
ERROR 1064 (42000): You have an error in your SQL syntax ...
near 'interval (begin INT, end INT)'
BEGIN 和 END 是关键字,但不是保留字,因此用作标识符时不需要加引号。 INTERVAL 是保留关键字,用作标识符时必须加引号
mysql> CREATE TABLE `interval` (begin INT, end INT);
Query OK, 0 rows affected (0.01 sec)异常:限定名称中句点后面的单词必须是标识符,因此即使是保留字也不需要加引号
mysql> CREATE TABLE mydb.interval (begin INT, end INT);
Query OK, 0 rows affected (0.01 sec)内置函数的名称允许用作标识符,但用作标识符时可能需要小心。例如,COUNT 可用作列名。但是,默认情况下,函数调用中函数名称和后面的 ( 字符之间不允许有空格。此要求使解析器能够区分名称是在函数调用中使用还是在非函数上下文中使用。有关函数名称识别的更多详细信息,请参见 第 11.2.5 节“函数名称解析和解决”。
INFORMATION_SCHEMA.KEYWORDS 表列出了 MySQL 认为是关键字的单词,并指出了它们是否是保留字。请参见 第 28.3.17 节“INFORMATION_SCHEMA KEYWORDS 表”。
以下列表显示了 MySQL 9.0 中的关键字和保留字,以及各个单词从一个版本到另一个版本的更改。保留关键字用 (R) 标记。此外,_FILENAME 是保留字。
在某个时刻,您可能会升级到更高版本,因此最好也了解一下未来保留的单词。您可以在涵盖 MySQL 更高版本的说明书中找到这些单词。列表中的大多数保留单词都因标准 SQL 而禁止用作列或表名称(例如,GROUP)。由于 MySQL 需要它们并使用 yacc 解析器,因此保留了少数单词。
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
ACCESSIBLE(R)ACCOUNTACTIONACTIVEADD(R)ADMINAFTERAGAINSTAGGREGATEALGORITHMALL(R)ALTER(R)ALWAYSANALYZE(R)AND(R)ANYARRAYAS(R)ASC(R)ASCIIASENSITIVE(R)ATATTRIBUTEAUTHENTICATIONAUTOAUTOEXTEND_SIZEAUTO_INCREMENTAVGAVG_ROW_LENGTH
BACKUPBEFORE(R)BEGINBERNOULLIBETWEEN(R)BIGINT(R)BINARY(R)BINLOGBITBLOB(R)BLOCKBOOLBOOLEANBOTH(R)BTREEBUCKETSBULKBY(R)BYTE
CACHECALL(R)CASCADE(R)CASCADEDCASE(R)CATALOG_NAMECHAINCHALLENGE_RESPONSECHANGE(R)CHANGEDCHANNELCHAR(R)CHARACTER(R)CHARSETCHECK(R)CHECKSUMCIPHERCLASS_ORIGINCLIENTCLONECLOSECOALESCECODECOLLATE(R)COLLATIONCOLUMN(R)COLUMNSCOLUMN_FORMATCOLUMN_NAMECOMMENTCOMMITCOMMITTEDCOMPACTCOMPLETIONCOMPONENTCOMPRESSEDCOMPRESSIONCONCURRENTCONDITION(R)CONNECTIONCONSISTENTCONSTRAINT(R)CONSTRAINT_CATALOGCONSTRAINT_NAMECONSTRAINT_SCHEMACONTAINSCONTEXTCONTINUE(R)CONVERT(R)CPUCREATE(R)CROSS(R)CUBE(R)CUME_DIST(R)CURRENTCURRENT_DATE(R)CURRENT_TIME(R)CURRENT_TIMESTAMP(R)CURRENT_USER(R)CURSOR(R)CURSOR_NAME
DATADATABASE(R)DATABASES(R)DATAFILEDATEDATETIMEDAYDAY_HOUR(R)DAY_MICROSECOND(R)DAY_MINUTE(R)DAY_SECOND(R)DEALLOCATEDEC(R)DECIMAL(R)DECLARE(R)DEFAULT(R)DEFAULT_AUTHDEFINERDEFINITION延迟(R)延迟_键_写入删除(R)密集排名(R)降序(R)描述(R)说明确定性(R)诊断目录禁用放弃磁盘不同(R)不同行(R)除(R)执行双精度(R)删除(R)双(R)转储文件重复动态
每个(R)否则(R)否则如果(R)空(R)启用封闭(R)加密结束结束强制引擎引擎引擎_属性枚举错误错误转义转义(R)事件事件每个除外(R)交换排除执行存在(R)退出(R)扩展过期解释(R)导出扩展区段_大小
因子失败的登录尝试假(R)快速故障获取(R)字段文件文件_块_大小筛选器完成第一个第一个_值(R)固定浮点数(R)浮点数4(R)浮点数8(R)刷新跟随跟随对于(R)强制(R)外键(R)格式已找到从(R)完整全文(R)函数(R)
常规生成生成(R)几何集合几何几何集合GET(R)GET_FORMATGET_SOURCE_PUBLIC_KEYGLOBALGRANT(R)GRANTSGROUP(R)GROUPING(R)GROUPS(R)GROUP_REPLICATIONGTIDSGTID_ONLY
HANDLERHASHHAVING(R)HELPHIGH_PRIORITY(R)HISTOGRAMHISTORYHOSTHOSTSHOURHOUR_MICROSECOND(R)HOUR_MINUTE(R)HOUR_SECOND(R)
IDENTIFIEDIF(R)IGNORE(R)IGNORE_SERVER_IDSIMPORTIN(R)INACTIVEINDEX(R)INDEXESINFILE(R)INITIALINITIAL_SIZEINITIATEINNER(R)INOUT(R)INSENSITIVE(R)INSERT(R)INSERT_METHODINSTALLINSTANCEINT(R)INT1(R)INT2(R)INT3(R)INT4(R)INT8(R)INTEGER(R)INTERSECT(R)INTERVAL(R)INTO(R)INVISIBLEINVOKERIOIO_AFTER_GTIDS(R)IO_BEFORE_GTIDS(R)IO_THREADIPCIS(R)ISOLATIONISSUERITERATE(R)
JOIN(R)JSONJSON_TABLE(R)JSON_VALUE
KEY(R)KEYRINGKEYS(R)KEY_BLOCK_SIZEKILL(R)
LAG(R)LANGUAGELASTLAST_VALUE(R)LATERAL(R)LEAD(R)LEADING(R)LEAVE(R)LEAVESLEFT(R)LESSLEVELLIKE(R)LIMIT(R)LINEAR(R)LINES(R)LINESTRINGLISTLOAD(R)LOCALLOCALTIME(R)LOCALTIMESTAMP(R)LOCK(R)LOCKEDLOCKSLOGLOGFILELOGSLONG(R)LONGBLOB(R)LONGTEXT(R)LOOP(R)LOW_PRIORITY(R)
MANUAL(R)MASTERMATCH(R)MAXVALUE(R)MAX_CONNECTIONS_PER_HOURMAX_QUERIES_PER_HOURMAX_ROWSMAX_SIZEMAX_UPDATES_PER_HOURMAX_USER_CONNECTIONSMEDIUMMEDIUMBLOB(R)MEDIUMINT(R)MEDIUMTEXT(R)MEMBERMEMORYMERGEMESSAGE_TEXTMICROSECONDMIDDLEINT(R)MIGRATEMINUTEMINUTE_MICROSECOND(R)MINUTE_SECOND(R)MIN_ROWSMOD(R)MODEMODIFIES(R)MODIFYMONTHMULTILINESTRINGMULTIPOINTMULTIPOLYGONMUTEXMYSQL_ERRNO
NAMENAMESNATIONALNATURAL(R)NCHARNDBNDBCLUSTERNESTEDNETWORK_NAMESPACENEVERNEWNEXTNONODEGROUPNONENOT(R)NOWAITNO_WAITNO_WRITE_TO_BINLOG(R)NTH_VALUE(R)NTILE(R)NULL(R)NULLSNUMBERNUMERIC(R)NVARCHAR
OF(R)OFFOFFSETOJOLDON(R)ONEONLYOPENOPTIMIZE(R)OPTIMIZER_COSTS(R)OPTION(R)OPTIONAL可选(R)选项或(R)顺序(R)序数组织其他输出(R)外部(R)输出文件(R)结束(R)所有者
PACK_KEYS页并行(R)解析器解析树部分分区(R)分区分区密码PASSWORD_LOCK_TIME路径百分比排名(R)持久仅持久阶段插件插件PLUGIN_DIR点多边形端口先于前置精度(R)准备保留上一个主(R)权限PRIVILEGE_CHECKS_USER过程(R)进程进程列表概要概要代理清除(R)
限定(R)季度查询快速
随机范围(R)排名(R)读取(R)读数(R)只读读写(R)实(R)重建恢复递归(R)REDO_BUFFER_SIZE冗余引用引用(R)正则表达式(R)注册中继中继日志中继日志文件中继日志位置中继线程释放(R)重新加载删除重命名(R)重新组织修复重复(R)可重复替换(R)副本副本REPLICATE_DO_DBREPLICATE_DO_TABLEREPLICATE_IGNORE_DBREPLICATE_IGNORE_TABLEREPLICATE_REWRITE_DBREPLICATE_WILD_DO_TABLEREPLICATE_WILD_IGNORE_TABLE复制要求(R)REQUIRE_ROW_FORMAT重置重新发出信号(R)资源尊重重启恢复限制(R)恢复保留返回(R)RETURNED_SQLSTATE返回返回重复使用反向撤销(R)右(R)RLIKE(R)角色回滚汇总旋转例程ROW(R)ROWS(R)行数行格式ROW_NUMBER(R)RTREE
S3保存点计划SCHEMA(R)SCHEMAS(R)架构名称秒辅助辅助引擎辅助引擎属性辅助加载辅助卸载SECOND_MICROSECOND(R)安全SELECT(R)SENSITIVE(R)SEPARATOR(R)序列可序列化的服务器会话SET(R)共享SHOW(R)关闭SIGNAL(R)已签名简单跳过从属慢SMALLINT(R)快照套接字某些SONAME声音源源自动位置源绑定源压缩算法源连接重试源延迟源心跳周期源主机源日志文件源日志位置源密码源端口源公钥路径源重试次数源 SSL源 SSL CA源 SSL CAPATH源 SSL CERT源 SSL CIPHER源 SSL CRL源 SSL CRLPATH源 SSL KEY源 SSL 验证服务器证书源 TLS 密码套件源 TLS 版本源用户源 ZSTD 压缩级别SPATIAL(R)SPECIFIC(R)SQL(R)SQLEXCEPTION(R)SQLSTATE(R)SQLWARNING(R)SQL_AFTER_GTIDSSQL_AFTER_MTS_GAPSSQL_BEFORE_GTIDSSQL_BIG_RESULT(R)SQL_BUFFER_RESULTSQL_CALC_FOUND_ROWS(R)SQL_NO_CACHESQL_SMALL_RESULT(R)SQL_THREADSQL_TSI_DAYSQL_TSI_HOURSQL_TSI_MINUTESQL_TSI_MONTHSQL_TSI_QUARTERSQL_TSI_SECONDSQL_TSI_WEEKSQL_TSI_YEARSRIDSSL(R)STACKEDSTARTSTARTING(R)STARTSSTATS_AUTO_RECALCSTATS_PERSISTENTSTATS_SAMPLE_PAGESSTATUSSTOPSTORAGESTORED(R)STRAIGHT_JOIN(R)STREAMSTRINGSUBCLASS_ORIGINSUBJECTSUBPARTITIONSUBPARTITIONSSUPERSUSPENDSWAPSSWITCHESSYSTEM(R)
TABLE(R)TABLESTABLESAMPLE(R)TABLESPACETABLE_CHECKSUMTABLE_NAMETEMPORARYTEMPTABLETERMINATED(R)TEXTTHANTHEN(R)THREAD_PRIORITYTIESTIMETIMESTAMPTIMESTAMPADDTIMESTAMPDIFFTINYBLOB(R)TINYINT(R)TINYTEXT(R)TLSTO(R)TRAILING(R)TRANSACTIONTRIGGER(R)TRIGGERSTRUE(R)TRUNCATETYPETYPES
UNBOUNDEDUNCOMMITTEDUNDEFINEDUNDO(R)UNDOFILEUNDO_BUFFER_SIZEUNICODEUNINSTALLUNION(R)UNIQUE(R)UNKNOWNUNLOCK(R)UNREGISTERUNSIGNED(R)UNTILUPDATE(R)UPGRADEURLUSAGE(R)USE(R)USERUSER_RESOURCESUSE_FRMUSING(R)UTC_DATE(R)UTC_TIME(R)UTC_TIMESTAMP(R)
VALIDATIONVALUEVALUES(R)VARBINARY(R)VARCHAR(R)VARCHARACTER(R)VARIABLESVARYING(R)VCPUVECTORVIEWVIRTUAL(R)VISIBLE
WAITWARNINGSWEEKWEIGHT_STRINGWHEN(R)WHERE(R)WHILE(R)WINDOW(R)WITH(R)WITHOUTWORKWRAPPERWRITE(R)
X509XAXIDXMLXOR(R)
YEARYEAR_MONTH(R)
ZEROFILL(R)ZONE