MySQL 9.0 參考手冊  /  語言結構  /  關鍵字和保留字

11.3 關鍵字和保留字

關鍵字是在 SQL 中具有意義的詞彙。某些關鍵字,例如 SELECTDELETEBIGINT,是保留字,需要特殊處理才能作為識別符(例如表格和欄位名稱)使用。內建函式的名稱也可能是如此。

非保留關鍵字允許在不加引號的情況下作為識別符使用。保留字如果使用引號括起來,則允許作為識別符使用,如 第 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)'

BEGINEND 是關鍵字但不是保留字,因此將它們用作識別符不需要加上引號。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 關鍵字和保留字

以下列表顯示了 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

A

  • 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

  • AUTO

  • AUTOEXTEND_SIZE

  • AUTO_INCREMENT

  • AVG

  • AVG_ROW_LENGTH

B

  • BACKUP

  • BEFORE (R)

  • BEGIN

  • BERNOULLI

  • BETWEEN (R)

  • BIGINT (R)

  • BINARY (R)

  • BINLOG

  • BIT

  • BLOB (R)

  • BLOCK

  • BOOL

  • BOOLEAN

  • BOTH (R)

  • BTREE

  • BUCKETS

  • BULK

  • BY (R)

  • BYTE

C

  • 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

D

  • DATA

  • DATABASE (R)

  • DATABASES (R)

  • 資料檔

  • 日期

  • 日期時間

  • DAY_HOUR (R)

  • DAY_MICROSECOND (R)

  • DAY_MINUTE (R)

  • DAY_SECOND (R)

  • 解除配置

  • DEC (R)

  • DECIMAL (R)

  • DECLARE (R)

  • DEFAULT (R)

  • 預設驗證

  • 定義者

  • 定義

  • DELAYED (R)

  • 延遲鍵寫入

  • DELETE (R)

  • DENSE_RANK (R)

  • DESC (R)

  • DESCRIBE (R)

  • 描述

  • DETERMINISTIC (R)

  • 診斷

  • 目錄

  • 停用

  • 捨棄

  • 磁碟

  • DISTINCT (R)

  • DISTINCTROW (R)

  • DIV (R)

  • 執行

  • DOUBLE (R)

  • DROP (R)

  • DUAL (R)

  • 傾印檔

  • 重複

  • 動態

E

  • EACH (R)

  • ELSE (R)

  • ELSEIF (R)

  • EMPTY (R)

  • 啟用

  • ENCLOSED (R)

  • 加密

  • 結束

  • 結束於

  • 強制

  • 引擎

  • 引擎們

  • 引擎屬性

  • 列舉

  • 錯誤

  • 錯誤們

  • 跳脫字元

  • ESCAPED (R)

  • 事件

  • 事件們

  • 每個

  • EXCEPT (R)

  • 交換

  • 排除

  • 執行

  • EXISTS (R)

  • EXIT (R)

  • 擴展

  • 過期

  • EXPLAIN (R)

  • 匯出

  • 擴展的

  • 範圍大小

F

  • 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)

G

  • GENERAL

  • GENERATE

  • GENERATED (R)

  • GEOMCOLLECTION

  • GEOMETRY

  • GEOMETRYCOLLECTION

  • GET (R)

  • GET_FORMAT

  • GET_SOURCE_PUBLIC_KEY

  • GLOBAL

  • GRANT (R)

  • GRANTS

  • GROUP (R)

  • GROUPING (R)

  • GROUPS (R)

  • GROUP_REPLICATION

  • GTIDS

  • GTID_ONLY

H

  • HANDLER

  • HASH

  • HAVING (R)

  • HELP

  • HIGH_PRIORITY (R)

  • HISTOGRAM

  • HISTORY

  • HOST

  • HOSTS

  • HOUR

  • HOUR_MICROSECOND (R)

  • HOUR_MINUTE (R)

  • HOUR_SECOND (R)

I

  • 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)

J

  • JOIN (R)

  • JSON

  • JSON_TABLE (R)

  • JSON_VALUE

K

  • KEY (R)

  • KEYRING

  • KEYS (R)

  • KEY_BLOCK_SIZE

  • KILL (R)

L

  • 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)

M

  • MANUAL (R)

  • MASTER

  • 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

N

  • 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

O

  • 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

P

  • 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)

Q

  • QUALIFY (R)

  • QUARTER

  • QUERY

  • QUICK

R

  • 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)

  • 傳回的SQLSTATE (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

S

  • 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)

  • 來源 SSL (SOURCE_SSL)

  • 來源 SSL CA (SOURCE_SSL_CA)

  • 來源 SSL CAPATH (SOURCE_SSL_CAPATH)

  • 來源 SSL 憑證 (SOURCE_SSL_CERT)

  • 來源 SSL 加密套件 (SOURCE_SSL_CIPHER)

  • 來源 SSL CRL (SOURCE_SSL_CRL)

  • 來源 SSL CRLPATH (SOURCE_SSL_CRLPATH)

  • 來源 SSL 金鑰 (SOURCE_SSL_KEY)

  • 來源 SSL 驗證伺服器憑證 (SOURCE_SSL_VERIFY_SERVER_CERT)

  • 來源 TLS 加密套件 (SOURCE_TLS_CIPHERSUITES)

  • 來源 TLS 版本 (SOURCE_TLS_VERSION)

  • 來源使用者 (SOURCE_USER)

  • 來源 ZSTD 壓縮層級 (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)

T

  • TABLE (R)

  • 表格 (TABLES)

  • TABLESAMPLE (R)

  • 表格空間 (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)

U

  • 無界限 (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)

V

  • 驗證 (VALIDATION)

  • 值 (VALUE)

  • VALUES (R)

  • VARBINARY (R)

  • VARCHAR (R)

  • VARCHARACTER (R)

  • 變數 (VARIABLES)

  • VARYING (R)

  • VCPU

  • 向量 (VECTOR)

  • 檢視 (VIEW)

  • VIRTUAL (R)

  • 可見 (VISIBLE)

W

  • 等待 (WAIT)

  • 警告 (WARNINGS)

  • 週 (WEEK)

  • 權重字串 (WEIGHT_STRING)

  • WHEN (R)

  • WHERE (R)

  • WHILE (R)

  • WINDOW (R)

  • WITH (R)

  • 不含 (WITHOUT)

  • 工作 (WORK)

  • 包裝函式 (WRAPPER)

  • WRITE (R)

X

  • X509

  • XA

  • XID

  • XML

  • XOR (R)

Y

  • 年 (YEAR)

  • YEAR_MONTH (R)

Z

  • ZEROFILL (R)

  • 時區 (ZONE)

MySQL 9.0 新增的關鍵字和保留字

以下清單顯示與 MySQL 8.4 相比,MySQL 9.0 中新增的關鍵字和保留字。保留關鍵字以 (R) 標示。

  • 向量 (VECTOR)

MySQL 9.0 移除的關鍵字和保留字

以下清單顯示與 MySQL 8.4 相比,MySQL 9.0 中移除的關鍵字和保留字。保留關鍵字以 (R) 標示。

MySQL 8.4-9.0 之間沒有移除任何關鍵字。