关键字是 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 8.3 中的关键字和保留字,连同每个单词从版本到版本的变化。保留关键字标记为 (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) -
ACCOUNT -
ACTION -
ACTIVE -
ADD(R) -
ADMIN -
AFTER -
AGAINST -
AGGREGATE -
ALGORITHM -
ALL(R) -
ALTER(R) -
ALWAYS -
ANALYZE(R) -
AND(R) -
ANY -
ARRAY -
AS(R) -
ASC(R) -
ASCII -
ASENSITIVE(R) -
AT -
ATTRIBUTE -
AUTHENTICATION -
AUTOEXTEND_SIZE -
AUTO_INCREMENT -
AVG -
AVG_ROW_LENGTH
-
BACKUP -
BEFORE(R) -
BEGIN -
BETWEEN(R) -
BIGINT(R) -
BINARY(R) -
BINLOG -
BIT -
BLOB(R) -
BLOCK -
BOOL -
BOOLEAN -
BOTH(R) -
BTREE -
BUCKETS -
BULK -
BY(R) -
BYTE
-
CACHE -
CALL(R) -
CASCADE(R) -
CASCADED -
CASE(R) -
CATALOG_NAME -
CHAIN -
CHALLENGE_RESPONSE -
CHANGE(R) -
CHANGED -
CHANNEL -
CHAR(R) -
CHARACTER(R) -
CHARSET -
CHECK(R) -
CHECKSUM -
CIPHER -
CLASS_ORIGIN -
CLIENT -
CLONE -
CLOSE -
COALESCE -
CODE -
COLLATE(R) -
COLLATION -
COLUMN(R) -
COLUMNS -
COLUMN_FORMAT -
COLUMN_NAME -
COMMENT -
COMMIT -
COMMITTED -
COMPACT -
COMPLETION -
COMPONENT -
COMPRESSED -
COMPRESSION -
CONCURRENT -
CONDITION(R) -
CONNECTION -
CONSISTENT -
CONSTRAINT(R) -
CONSTRAINT_CATALOG -
CONSTRAINT_NAME -
CONSTRAINT_SCHEMA -
CONTAINS -
CONTEXT -
CONTINUE(R) -
CONVERT(R) -
CPU -
CREATE(R) -
CROSS(R) -
CUBE(R) -
CUME_DIST(R) -
CURRENT -
CURRENT_DATE(R) -
CURRENT_TIME(R) -
CURRENT_TIMESTAMP(R) -
CURRENT_USER(R) -
CURSOR(R) -
CURSOR_NAME
-
DATA -
DATABASE(R) -
DATABASES(R) -
DATAFILE -
DATE -
DATETIME -
DAY -
DAY_HOUR(R) -
DAY_MICROSECOND(R) -
DAY_MINUTE(R) -
DAY_SECOND(R) -
DEALLOCATE -
DEC(R) -
DECIMAL(R) -
DECLARE(R) -
DEFAULT(R) -
DEFAULT_AUTH -
DEFINER -
DEFINITION -
DELAYED(R) -
DELAY_KEY_WRITE -
DELETE(R) -
DENSE_RANK(R) -
DESC(R) -
DESCRIBE(R) -
DESCRIPTION -
DETERMINISTIC(R) -
DIAGNOSTICS -
DIRECTORY -
DISABLE -
DISCARD -
DISK -
DISTINCT(R) -
DISTINCTROW(R) -
DIV(R) -
DO -
DOUBLE(R) -
DROP(R) -
DUAL(R) -
DUMPFILE -
DUPLICATE -
DYNAMIC
-
EACH(R) -
ELSE(R) -
ELSEIF(R) -
EMPTY(R) -
ENABLE -
ENCLOSED(R) -
ENCRYPTION -
END -
ENDS -
ENFORCED -
ENGINE -
ENGINES -
ENGINE_ATTRIBUTE -
ENUM -
ERROR -
ERRORS -
ESCAPE -
ESCAPED(R) -
EVENT -
EVENTS -
EVERY -
EXCEPT(R) -
EXCHANGE -
EXCLUDE -
EXECUTE -
EXISTS(R) -
EXIT(R) -
EXPANSION -
EXPIRE -
EXPLAIN(R) -
EXPORT -
EXTENDED -
EXTENT_SIZE
-
FACTOR -
FAILED_LOGIN_ATTEMPTS -
FALSE(R) -
FAST -
FAULTS -
FETCH(R) -
FIELDS -
FILE -
FILE_BLOCK_SIZE -
FILTER -
FINISH -
FIRST -
FIRST_VALUE(R) -
FIXED -
FLOAT(R) -
FLOAT4(R) -
FLOAT8(R) -
FLUSH -
FOLLOWING -
FOLLOWS -
FOR(R) -
FORCE(R) -
FOREIGN(R) -
FORMAT -
FOUND -
FROM(R) -
FULL -
FULLTEXT(R) -
FUNCTION(R)
-
GENERAL -
GENERATE -
GENERATED(R) -
GEOMCOLLECTION -
GEOMETRY -
GEOMETRYCOLLECTION -
GET(R) -
GET_FORMAT -
GET_MASTER_PUBLIC_KEY -
GET_SOURCE_PUBLIC_KEY -
GLOBAL -
GRANT(R) -
GRANTS -
GROUP(R) -
GROUPING(R) -
GROUPS(R) -
GROUP_REPLICATION -
GTIDS -
GTID_ONLY
-
HANDLER -
HASH -
HAVING(R) -
HELP -
HIGH_PRIORITY(R) -
HISTOGRAM -
HISTORY -
HOST -
HOSTS -
HOUR -
HOUR_MICROSECOND(R) -
HOUR_MINUTE(R) -
HOUR_SECOND(R)
-
IDENTIFIED -
IF(R) -
IGNORE(R) -
IGNORE_SERVER_IDS -
IMPORT -
IN(R) -
INACTIVE -
INDEX(R) -
INDEXES -
INFILE(R) -
INITIAL -
INITIAL_SIZE -
INITIATE -
INNER(R) -
INOUT(R) -
INSENSITIVE(R) -
INSERT(R) -
INSERT_METHOD -
INSTALL -
INSTANCE -
INT(R) -
INT1(R) -
INT2(R) -
INT3(R) -
INT4(R) -
INT8(R) -
INTEGER(R) -
INTERSECT(R) -
INTERVAL(R) -
INTO(R) -
INVISIBLE -
INVOKER -
IO -
IO_AFTER_GTIDS(R) -
IO_BEFORE_GTIDS(R) -
IO_THREAD -
IPC -
IS(R) -
ISOLATION -
ISSUER -
ITERATE(R)
-
JOIN(R) -
JSON -
JSON_TABLE(R) -
JSON_VALUE
-
KEY(R) -
KEYRING -
KEYS(R) -
KEY_BLOCK_SIZE -
KILL(R)
-
LAG(R) -
LANGUAGE -
LAST -
LAST_VALUE(R) -
LATERAL(R) -
LEAD(R) -
LEADING(R) -
LEAVE(R) -
LEAVES -
LEFT(R) -
LESS -
LEVEL -
LIKE(R) -
LIMIT(R) -
LINEAR(R) -
LINES(R) -
LINESTRING -
LIST -
LOAD(R) -
LOCAL -
LOCALTIME(R) -
LOCALTIMESTAMP(R) -
LOCK(R) -
LOCKED -
LOCKS -
LOG -
LOGFILE -
LOGS -
LONG(R) -
LONGBLOB(R) -
LONGTEXT(R) -
LOOP(R) -
LOW_PRIORITY(R)
-
MASTER -
MASTER_AUTO_POSITION -
MASTER_BIND(R) -
MASTER_COMPRESSION_ALGORITHMS -
MASTER_CONNECT_RETRY -
MASTER_DELAY -
MASTER_HEARTBEAT_PERIOD -
MASTER_HOST -
MASTER_LOG_FILE -
MASTER_LOG_POS -
MASTER_PASSWORD -
MASTER_PORT -
MASTER_PUBLIC_KEY_PATH -
MASTER_RETRY_COUNT -
MASTER_SSL -
MASTER_SSL_CA -
MASTER_SSL_CAPATH -
MASTER_SSL_CERT -
MASTER_SSL_CIPHER -
MASTER_SSL_CRL -
MASTER_SSL_CRLPATH -
MASTER_SSL_KEY -
MASTER_SSL_VERIFY_SERVER_CERT(R) -
MASTER_TLS_CIPHERSUITES -
MASTER_TLS_VERSION -
MASTER_USER -
MASTER_ZSTD_COMPRESSION_LEVEL -
MATCH(R) -
MAXVALUE(R) -
MAX_CONNECTIONS_PER_HOUR -
MAX_QUERIES_PER_HOUR -
MAX_ROWS -
MAX_SIZE -
MAX_UPDATES_PER_HOUR -
MAX_USER_CONNECTIONS -
MEDIUM -
MEDIUMBLOB(R) -
MEDIUMINT(R) -
MEDIUMTEXT(R) -
MEMBER -
MEMORY -
MERGE -
MESSAGE_TEXT -
MICROSECOND -
MIDDLEINT(R) -
MIGRATE -
MINUTE -
MINUTE_MICROSECOND(R) -
MINUTE_SECOND(R) -
MIN_ROWS -
MOD(R) -
MODE -
MODIFIES(R) -
MODIFY -
MONTH -
MULTILINESTRING -
MULTIPOINT -
MULTIPOLYGON -
MUTEX -
MYSQL_ERRNO
-
NAME -
NAMES -
NATIONAL -
NATURAL(R) -
NCHAR -
NDB -
NDBCLUSTER -
NESTED -
NETWORK_NAMESPACE -
NEVER -
NEW -
NEXT -
NO -
NODEGROUP -
NONE -
NOT(R) -
NOWAIT -
NO_WAIT -
NO_WRITE_TO_BINLOG(R) -
NTH_VALUE(R) -
NTILE(R) -
NULL(R) -
NULLS -
NUMBER -
NUMERIC(R) -
NVARCHAR
-
OF(R) -
OFF -
OFFSET -
OJ -
OLD -
ON(R) -
ONE -
ONLY -
OPEN -
OPTIMIZE(R) -
OPTIMIZER_COSTS(R) -
OPTION(R) -
OPTIONAL -
OPTIONALLY(R) -
OPTIONS -
OR(R) -
ORDER(R) -
ORDINALITY -
ORGANIZATION -
OTHERS -
OUT(R) -
OUTER(R) -
OUTFILE(R) -
OVER(R) -
OWNER
-
PACK_KEYS -
PAGE -
PARALLEL(R) -
PARSER -
PARSE_TREE -
PARTIAL -
PARTITION(R) -
PARTITIONING -
PARTITIONS -
PASSWORD -
PASSWORD_LOCK_TIME -
PATH -
PERCENT_RANK(R) -
PERSIST -
PERSIST_ONLY -
PHASE -
PLUGIN -
PLUGINS -
PLUGIN_DIR -
POINT -
POLYGON -
PORT -
PRECEDES -
PRECEDING -
PRECISION(R) -
PREPARE -
PRESERVE -
PREV -
PRIMARY(R) -
PRIVILEGES -
PRIVILEGE_CHECKS_USER -
PROCEDURE(R) -
PROCESS -
PROCESSLIST -
PROFILE -
PROFILES -
PROXY -
PURGE(R)
-
QUALIFY(R) -
QUARTER -
QUERY -
QUICK
-
RANDOM -
RANGE(R) -
RANK(R) -
READ(R) -
READS(R) -
READ_ONLY -
READ_WRITE(R) -
REAL(R) -
REBUILD -
RECOVER -
RECURSIVE(R) -
REDO_BUFFER_SIZE -
REDUNDANT -
REFERENCE -
REFERENCES(R) -
REGEXP(R) -
REGISTRATION -
RELAY -
RELAYLOG -
RELAY_LOG_FILE -
RELAY_LOG_POS -
RELAY_THREAD -
RELEASE(R) -
RELOAD -
REMOVE -
RENAME(R) -
REORGANIZE -
REPAIR -
REPEAT(R) -
REPEATABLE -
REPLACE(R) -
REPLICA -
REPLICAS -
REPLICATE_DO_DB -
REPLICATE_DO_TABLE -
REPLICATE_IGNORE_DB -
REPLICATE_IGNORE_TABLE -
REPLICATE_REWRITE_DB -
REPLICATE_WILD_DO_TABLE -
REPLICATE_WILD_IGNORE_TABLE -
REPLICATION -
REQUIRE(R) -
REQUIRE_ROW_FORMAT -
RESET -
RESIGNAL(R) -
RESOURCE -
RESPECT -
RESTART -
RESTORE -
RESTRICT(R) -
RESUME -
RETAIN -
RETURN(R) -
RETURNED_SQLSTATE -
RETURNING -
RETURNS -
REUSE -
REVERSE -
REVOKE(R) -
RIGHT(R) -
RLIKE(R) -
ROLE -
ROLLBACK -
ROLLUP -
ROTATE -
ROUTINE -
ROW(R) -
ROWS(R) -
ROW_COUNT -
ROW_FORMAT -
ROW_NUMBER(R) -
RTREE
-
S3 -
SAVEPOINT -
SCHEDULE -
SCHEMA(R) -
SCHEMAS(R) -
SCHEMA_NAME -
SECOND -
SECONDARY -
SECONDARY_ENGINE -
SECONDARY_ENGINE_ATTRIBUTE -
SECONDARY_LOAD -
SECONDARY_UNLOAD -
SECOND_MICROSECOND(R) -
SECURITY -
SELECT(R) -
SENSITIVE(R) -
SEPARATOR(R) -
SERIAL -
SERIALIZABLE -
SERVER -
SESSION -
SET(R) -
SHARE -
SHOW(R) -
SHUTDOWN -
SIGNAL(R) -
SIGNED -
SIMPLE -
SKIP -
SLAVE -
SLOW -
SMALLINT(R) -
SNAPSHOT -
SOCKET -
SOME -
SONAME -
SOUNDS -
SOURCE -
SOURCE_AUTO_POSITION -
SOURCE_BIND -
SOURCE_COMPRESSION_ALGORITHMS -
SOURCE_CONNECT_RETRY -
SOURCE_DELAY -
SOURCE_HEARTBEAT_PERIOD -
SOURCE_HOST -
SOURCE_LOG_FILE -
SOURCE_LOG_POS -
SOURCE_PASSWORD -
SOURCE_PORT -
SOURCE_PUBLIC_KEY_PATH -
SOURCE_RETRY_COUNT -
SOURCE_SSL -
SOURCE_SSL_CA -
SOURCE_SSL_CAPATH -
SOURCE_SSL_CERT -
SOURCE_SSL_CIPHER -
SOURCE_SSL_CRL -
SOURCE_SSL_CRLPATH -
SOURCE_SSL_KEY -
SOURCE_SSL_VERIFY_SERVER_CERT -
SOURCE_TLS_CIPHERSUITES -
SOURCE_TLS_VERSION -
SOURCE_USER -
SOURCE_ZSTD_COMPRESSION_LEVEL -
SPATIAL(R) -
SPECIFIC(R) -
SQL(R) -
SQLEXCEPTION(R) -
SQLSTATE(R) -
SQLWARNING(R) -
SQL_AFTER_GTIDS -
SQL_AFTER_MTS_GAPS -
SQL_BEFORE_GTIDS -
SQL_BIG_RESULT(R) -
SQL_BUFFER_RESULT -
SQL_CALC_FOUND_ROWS(R) -
SQL_NO_CACHE -
SQL_SMALL_RESULT(R) -
SQL_THREAD -
SQL_TSI_DAY -
SQL_TSI_HOUR -
SQL_TSI_MINUTE -
SQL_TSI_MONTH -
SQL_TSI_QUARTER -
SQL_TSI_SECOND -
SQL_TSI_WEEK -
SQL_TSI_YEAR -
SRID -
SSL(R) -
STACKED -
START -
STARTING(R) -
STARTS -
STATS_AUTO_RECALC -
STATS_PERSISTENT -
STATS_SAMPLE_PAGES -
STATUS -
STOP -
STORAGE -
STORED(R) -
STRAIGHT_JOIN(R) -
STREAM -
STRING -
SUBCLASS_ORIGIN -
SUBJECT -
SUBPARTITION -
SUBPARTITIONS -
SUPER -
SUSPEND -
SWAPS -
SWITCHES -
SYSTEM(R)
-
TABLE(R) -
TABLES -
TABLESPACE -
TABLE_CHECKSUM -
TABLE_NAME -
TEMPORARY -
TEMPTABLE -
TERMINATED(R) -
TEXT -
THAN -
THEN(R) -
THREAD_PRIORITY -
TIES -
TIME -
TIMESTAMP -
TIMESTAMPADD -
TIMESTAMPDIFF -
TINYBLOB(R) -
TINYINT(R) -
TINYTEXT(R) -
TLS -
TO(R) -
TRAILING(R) -
TRANSACTION -
TRIGGER(R) -
TRIGGERS -
TRUE(R) -
TRUNCATE -
TYPE -
TYPES
-
UNBOUNDED -
UNCOMMITTED -
UNDEFINED -
UNDO(R) -
UNDOFILE -
UNDO_BUFFER_SIZE -
UNICODE -
UNINSTALL -
UNION(R) -
UNIQUE(R) -
UNKNOWN -
UNLOCK(R) -
UNREGISTER -
UNSIGNED(R) -
UNTIL -
UPDATE(R) -
UPGRADE -
URL -
USAGE(R) -
USE(R) -
USER -
USER_RESOURCES -
USE_FRM -
USING(R) -
UTC_DATE(R) -
UTC_TIME(R) -
UTC_TIMESTAMP(R)
-
VALIDATION -
VALUE -
VALUES(R) -
VARBINARY(R) -
VARCHAR(R) -
VARCHARACTER(R) -
VARIABLES -
VARYING(R) -
VCPU -
VIEW -
VIRTUAL(R) -
VISIBLE
-
WAIT -
WARNINGS -
WEEK -
WEIGHT_STRING -
WHEN(R) -
WHERE(R) -
WHILE(R) -
WINDOW(R) -
WITH(R) -
WITHOUT -
WORK -
WRAPPER -
WRITE(R)
-
X509 -
XA -
XID -
XML -
XOR(R)
-
YEAR -
YEAR_MONTH(R)
-
ZEROFILL(R) -
ZONE
以下列表显示了 MySQL 8.3 中添加的关键字和保留字,相比 MySQL 8.2。保留关键字标记为 (R)。
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | Z
-
ACTIVE -
ADMIN -
ARRAY -
ATTRIBUTE -
AUTHENTICATION
-
BUCKETS -
BULK
-
CHALLENGE_RESPONSE -
CLONE -
COMPONENT -
CUME_DIST(R)
-
DEFINITION -
DENSE_RANK(R) -
DESCRIPTION
-
EMPTY(R) -
ENFORCED -
ENGINE_ATTRIBUTE -
EXCEPT(R) -
EXCLUDE
-
FACTOR -
FAILED_LOGIN_ATTEMPTS -
FINISH -
FIRST_VALUE(R) -
FOLLOWING
-
GENERATE -
GEOMCOLLECTION -
GET_MASTER_PUBLIC_KEY -
GET_SOURCE_PUBLIC_KEY -
GROUPING(R) -
GROUPS(R) -
GTIDS -
GTID_ONLY
-
HISTOGRAM -
HISTORY
-
INACTIVE -
INITIAL -
INITIATE -
INTERSECT(R) -
INVISIBLE
-
JSON_TABLE(R) -
JSON_VALUE
-
KEYRING
-
LAG(R) -
LAST_VALUE(R) -
LATERAL(R) -
LEAD(R) -
LOCKED -
LOG
-
MASTER_COMPRESSION_ALGORITHMS -
MASTER_PUBLIC_KEY_PATH -
MASTER_TLS_CIPHERSUITES -
MASTER_ZSTD_COMPRESSION_LEVEL -
MEMBER
-
NESTED -
NETWORK_NAMESPACE -
NOWAIT -
NTH_VALUE(R) -
NTILE(R) -
NULLS
-
OF(R) -
OFF -
OJ -
OLD -
OPTIONAL -
ORDINALITY -
ORGANIZATION -
OTHERS -
OVER(R)
-
PARALLEL(R) -
PARSE_TREE -
PASSWORD_LOCK_TIME -
PATH -
PERCENT_RANK(R) -
PERSIST -
PERSIST_ONLY -
PRECEDING -
PRIVILEGE_CHECKS_USER -
PROCESS
-
QUALIFY(R)
-
RANDOM -
RANK(R) -
RECURSIVE(R) -
REFERENCE -
REGISTRATION -
REPLICA -
REPLICAS -
REQUIRE_ROW_FORMAT -
RESOURCE -
RESPECT -
RESTART -
RETAIN -
RETURNING -
REUSE -
ROLE -
ROW_NUMBER(R)
-
S3 -
SECONDARY -
SECONDARY_ENGINE -
SECONDARY_ENGINE_ATTRIBUTE -
SECONDARY_LOAD -
SECONDARY_UNLOAD -
SKIP -
SOURCE_AUTO_POSITION -
SOURCE_BIND -
SOURCE_COMPRESSION_ALGORITHMS -
SOURCE_CONNECT_RETRY -
SOURCE_DELAY -
SOURCE_HEARTBEAT_PERIOD -
SOURCE_HOST -
SOURCE_LOG_FILE -
SOURCE_LOG_POS -
SOURCE_PASSWORD -
SOURCE_PORT -
SOURCE_PUBLIC_KEY_PATH -
SOURCE_RETRY_COUNT -
SOURCE_SSL -
SOURCE_SSL_CA -
SOURCE_SSL_CAPATH -
SOURCE_SSL_CERT -
SOURCE_SSL_CIPHER -
SOURCE_SSL_CRL -
SOURCE_SSL_CRLPATH -
SOURCE_SSL_KEY -
SOURCE_SSL_VERIFY_SERVER_CERT -
SOURCE_TLS_CIPHERSUITES -
SOURCE_TLS_VERSION -
SOURCE_USER -
SOURCE_ZSTD_COMPRESSION_LEVEL -
SRID -
STREAM -
SYSTEM(R)
-
THREAD_PRIORITY -
TIES -
TLS
-
UNBOUNDED -
UNREGISTER -
URL
-
VCPU -
VISIBLE
-
WINDOW(R)
-
ZONE