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

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 8.4 關鍵字和保留字

以下清單顯示 MySQL 8.4 中的關鍵字和保留字,以及各版本之間個別單字的變更。保留關鍵字標記為 (R)。此外,_FILENAME 也被保留。

在某些時候,您可能會升級到較高的版本,因此最好也看看未來保留字。您可以在涵蓋較高版本 MySQL 的手冊中找到這些保留字。清單中的大多數保留字(例如,GROUP)都被標準 SQL 禁止作為欄位或表格名稱。一些保留字是因為 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)

  • 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

E

  • 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

  • 每個

  • EXCEPT (R)

  • 交換

  • 排除

  • 執行

  • EXISTS (R)

  • EXIT (R)

  • 擴展

  • 到期

  • EXPLAIN (R)

  • 匯出

  • 擴充的

  • 範圍大小

F

  • 因素

  • 登入失敗嘗試次數

  • FALSE (R)

  • 快速

  • 錯誤

  • FETCH (R)

  • 欄位

  • 檔案

  • 檔案區塊大小

  • 篩選器

  • 完成

  • 第一

  • FIRST_VALUE (R)

  • 固定的

  • FLOAT (R)

  • FLOAT4 (R)

  • FLOAT8 (R)

  • 刷新

  • 以下

  • 跟隨

  • FOR (R)

  • FORCE (R)

  • FOREIGN (R)

  • 格式

  • 已找到

  • FROM (R)

  • 完整

  • FULLTEXT (R)

  • FUNCTION (R)

G

  • 一般

  • 產生

  • GENERATED (R)

  • 幾何集合

  • 幾何

  • 幾何集合

  • GET (R)

  • 取得格式

  • 取得來源公開金鑰

  • 全域

  • GRANT (R)

  • 授權

  • GROUP (R)

  • GROUPING (R)

  • GROUPS (R)

  • 群組複製

  • GTIDS

  • 僅限 GTID

H

  • 處理器

  • 雜湊

  • HAVING (R)

  • 說明

  • HIGH_PRIORITY (R)

  • 直方圖

  • 歷史記錄

  • 主機

  • 主機

  • 小時

  • HOUR_MICROSECOND (R)

  • HOUR_MINUTE (R)

  • HOUR_SECOND (R)

I

  • 已識別

  • IF (R)

  • IGNORE (R)

  • 忽略伺服器 ID

  • 匯入

  • IN (R)

  • 非活動

  • INDEX (R)

  • 索引

  • INFILE (R)

  • 初始

  • 初始大小

  • 啟動

  • INNER (R)

  • INOUT (R)

  • INSENSITIVE (R)

  • INSERT (R)

  • 插入方法

  • 安裝

  • 執行個體

  • INT (R)

  • INT1 (R)

  • INT2 (R)

  • INT3 (R)

  • INT4 (R)

  • INT8 (R)

  • INTEGER (R)

  • INTERSECT (R)

  • INTERVAL (R)

  • INTO (R)

  • 不可見

  • 調用者

  • IO

  • IO_AFTER_GTIDS (R)

  • IO_BEFORE_GTIDS (R)

  • IO 執行緒

  • IPC

  • IS (R)

  • 隔離

  • 發行者

  • ITERATE (R)

J

  • JOIN (R)

  • JSON

  • JSON_TABLE (R)

  • JSON 值

K

  • KEY (R)

  • 金鑰環

  • KEYS (R)

  • 金鑰區塊大小

  • KILL (R)

L

  • LAG (R)

  • 語言

  • 最後

  • LAST_VALUE (R)

  • LATERAL (R)

  • LEAD (R)

  • LEADING (R)

  • LEAVE (R)

  • 離開

  • LEFT (R)

  • 較少

  • 等級

  • LIKE (R)

  • LIMIT (R)

  • LINEAR (R)

  • LINES (R)

  • 線字串

  • 清單

  • LOAD (R)

  • 本機

  • LOCALTIME (R)

  • LOCALTIMESTAMP (R)

  • LOCK (R)

  • 已鎖定

  • 鎖定

  • 記錄

  • 記錄檔

  • 記錄

  • LONG (R)

  • LONGBLOB (R)

  • LONGTEXT (R)

  • LOOP (R)

  • LOW_PRIORITY (R)

M

  • MANUAL (R)

  • 主機

  • MATCH (R)

  • MAXVALUE (R)

  • 每小時最大連線數

  • 每小時最大查詢數

  • 最大列數

  • 最大大小

  • 每小時最大更新次數

  • 最大使用者連線數

  • 中型

  • MEDIUMBLOB (R)

  • MEDIUMINT (R)

  • MEDIUMTEXT (R)

  • 成員

  • 記憶體

  • 合併

  • 訊息文字

  • 微秒

  • MIDDLEINT (R)

  • 遷移

  • 分鐘

  • MINUTE_MICROSECOND (R)

  • MINUTE_SECOND (R)

  • 最小列數

  • MOD (R)

  • 模式

  • MODIFIES (R)

  • 修改

  • 多線字串

  • 多點

  • 多邊形

  • 互斥

  • MYSQL_ERRNO

N

  • 名稱

  • 名稱

  • 國家

  • NATURAL (R)

  • NCHAR

  • NDB

  • NDB叢集

  • 巢狀

  • 網路命名空間

  • 從不

  • 下一個

  • 節點群組

  • NOT (R)

  • 立即

  • 不等待

  • NO_WRITE_TO_BINLOG (R)

  • NTH_VALUE (R)

  • NTILE (R)

  • NULL (R)

  • NULL

  • 數字

  • NUMERIC (R)

  • NVARCHAR

O

  • OF (R)

  • 關閉

  • 偏移量

  • OJ

  • ON (R)

  • 開啟

  • OPTIMIZE (R)

  • OPTIMIZER_COSTS (R)

  • OPTION (R)

  • 選用

  • OPTIONALLY (R)

  • 選項

  • OR (R)

  • ORDER (R)

  • 序數

  • 組織

  • 其他

  • OUT (R)

  • OUTER (R)

  • OUTFILE (R)

  • OVER (R)

  • 擁有者

P

  • 封裝金鑰

  • 頁面

  • PARALLEL (R)

  • 剖析器

  • 剖析樹狀結構

  • 部分

  • PARTITION (R)

  • 分割

  • 分割區

  • 密碼

  • 密碼鎖定時間

  • 路徑

  • PERCENT_RANK (R)

  • 持續

  • 僅限持續

  • 階段

  • 外掛程式

  • 外掛程式

  • 外掛程式目錄

  • 多邊形

  • 連接埠

  • 優先

  • 在先

  • PRECISION (R)

  • 準備

  • 保留

  • 上一個

  • PRIMARY (R)

  • 權限

  • 權限檢查使用者

  • PROCEDURE (R)

  • 處理

  • 處理程序清單

  • 設定檔

  • 設定檔

  • Proxy

  • PURGE (R)

Q

  • QUALIFY (R)

  • 查詢

  • 快速

R

  • 隨機

  • RANGE (R)

  • RANK (R)

  • READ (R)

  • READS (R)

  • 唯讀

  • READ_WRITE (R)

  • REAL (R)

  • 重建

  • 復原

  • RECURSIVE (R)

  • 重做緩衝區大小

  • 多餘

  • 參考

  • REFERENCES (R)

  • REGEXP (R)

  • 註冊

  • 中繼

  • 中繼記錄

  • 中繼記錄檔

  • 中繼記錄位置

  • 中繼執行緒

  • RELEASE (R)

  • 重新載入

  • 移除

  • RENAME (R)

  • 重新整理

  • 修復

  • REPEAT (R)

  • 可重複

  • REPLACE (R)

  • 複本

  • 複本

  • 複製執行資料庫

  • 複製執行資料表

  • 複製忽略資料庫

  • 複製忽略資料表

  • 複製重新寫入資料庫

  • 複製萬用字元執行資料表

  • 複製萬用字元忽略資料表

  • 複製

  • REQUIRE (R)

  • 需要列格式

  • 重設

  • RESIGNAL (R)

  • 資源

  • 尊重

  • 重新啟動

  • 還原

  • RESTRICT (R)

  • 繼續

  • 保留

  • RETURN (R)

  • 傳回的 SQLSTATE

  • 正在傳回

  • 傳回

  • 重複使用

  • 反向

  • REVOKE (R)

  • RIGHT (R)

  • RLIKE (R)

  • 角色

  • 復原

  • 彙總

  • 旋轉

  • 常式

  • ROW (R)

  • ROWS (R)

  • 列數

  • 列格式

  • ROW_NUMBER (R)

  • RTREE

S

  • S3

  • 儲存點

  • 排程

  • SCHEMA (R)

  • SCHEMAS (R)

  • 結構描述名稱

  • 次要

  • 次要引擎

  • 次要引擎屬性

  • 次要載入

  • 次要卸載

  • SECOND_MICROSECOND (R)

  • 安全性

  • SELECT (R)

  • SENSITIVE (R)

  • SEPARATOR (R)

  • 序列

  • 可序列化

  • 伺服器

  • 工作階段

  • SET (R)

  • 分享

  • SHOW (R)

  • 關閉

  • SIGNAL (R)

  • 已簽署

  • 簡單

  • 跳過

  • 從屬

  • 慢速

  • SMALLINT (R)

  • 快照

  • 套接字

  • 某些

  • 共享函式庫名稱

  • 聲音

  • 來源

  • 來源_自動_定位

  • 來源_綁定

  • 來源_壓縮_演算法

  • 來源_連線_重試

  • 來源_延遲

  • 來源_心跳_週期

  • 來源_主機

  • 來源_日誌_檔案

  • 來源_日誌_位置

  • 來源_密碼

  • 來源_連接埠

  • 來源_公開金鑰_路徑

  • 來源_重試_次數

  • 來源_SSL

  • 來源_SSL_CA

  • 來源_SSL_CAPATH

  • 來源_SSL_憑證

  • 來源_SSL_加密

  • 來源_SSL_CRL

  • 來源_SSL_CRLPATH

  • 來源_SSL_金鑰

  • 來源_SSL_驗證_伺服器_憑證

  • 來源_TLS_加密套件

  • 來源_TLS_版本

  • 來源_使用者

  • 來源_ZSTD_壓縮_層級

  • SPATIAL (R)

  • SPECIFIC (R)

  • SQL (R)

  • SQLEXCEPTION (R)

  • SQLSTATE (R)

  • SQLWARNING (R)

  • SQL_在_GTIDS_之後

  • SQL_在_MTS_間隙_之後

  • SQL_在_GTIDS_之前

  • SQL_BIG_RESULT (R)

  • SQL_緩衝_結果

  • SQL_CALC_FOUND_ROWS (R)

  • SQL_不_快取

  • SQL_SMALL_RESULT (R)

  • SQL_執行緒

  • SQL_TSI_天

  • SQL_TSI_小時

  • SQL_TSI_分鐘

  • SQL_TSI_月

  • SQL_TSI_季

  • SQL_TSI_秒

  • SQL_TSI_週

  • SQL_TSI_年

  • SRID

  • SSL (R)

  • 堆疊

  • 開始

  • STARTING (R)

  • 開始於

  • 統計_自動_重新計算

  • 統計_持續

  • 統計_樣本_頁面

  • 狀態

  • 停止

  • 儲存

  • STORED (R)

  • STRAIGHT_JOIN (R)

  • 串流

  • 字串

  • 子類別_來源

  • 主旨

  • 子分割區

  • 子分割區

  • 超級

  • 暫停

  • 交換

  • 開關

  • SYSTEM (R)

T

  • TABLE (R)

  • 表格

  • TABLESAMPLE (R)

  • 表空間

  • 表格_檢查和

  • 表格_名稱

  • 臨時

  • 臨時表

  • TERMINATED (R)

  • 文字

  • 大於

  • THEN (R)

  • 執行緒_優先順序

  • 並列

  • 時間

  • 時間戳記

  • 時間戳記相加

  • 時間戳記相減

  • TINYBLOB (R)

  • TINYINT (R)

  • TINYTEXT (R)

  • TLS

  • TO (R)

  • TRAILING (R)

  • 交易

  • TRIGGER (R)

  • 觸發器

  • TRUE (R)

  • 截斷

  • 類型

  • 類型

U

  • 無界限

  • 未提交

  • 未定義

  • UNDO (R)

  • 復原檔案

  • 復原_緩衝區_大小

  • 萬國碼

  • 解除安裝

  • UNION (R)

  • UNIQUE (R)

  • 未知

  • UNLOCK (R)

  • 取消註冊

  • UNSIGNED (R)

  • 直到

  • UPDATE (R)

  • 升級

  • 網址

  • USAGE (R)

  • USE (R)

  • 使用者

  • 使用者_資源

  • 使用_FRM

  • USING (R)

  • UTC_DATE (R)

  • UTC_TIME (R)

  • UTC_TIMESTAMP (R)

V

  • 驗證

  • VALUES (R)

  • VARBINARY (R)

  • VARCHAR (R)

  • VARCHARACTER (R)

  • 變數

  • VARYING (R)

  • 虛擬CPU

  • 視圖

  • VIRTUAL (R)

  • 可見

W

  • 等待

  • 警告

  • 權重_字串

  • WHEN (R)

  • WHERE (R)

  • WHILE (R)

  • WINDOW (R)

  • WITH (R)

  • 工作

  • 封裝器

  • WRITE (R)

X

  • X509

  • XA

  • XID

  • XML

  • XOR (R)

Y

  • YEAR_MONTH (R)

Z

  • ZEROFILL (R)

  • 時區

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

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

A | B | G | L | M | P | Q | S | T

A

  • AUTO

B

  • BERNOULLI

G

  • GTIDS

L

  • 記錄

M

  • MANUAL (R)

P

  • PARALLEL (R)

  • 剖析樹狀結構

Q

  • QUALIFY (R)

S

  • S3

T

  • TABLESAMPLE (R)

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

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

G | M

G

  • 取得_主機_公開金鑰

M

  • 主機_自動_定位

  • 主機_綁定 (R)

  • 主機_壓縮_演算法

  • 主機_連線_重試

  • 主機_延遲

  • 主機_心跳_週期

  • 主機_主機

  • 主機_日誌_檔案

  • 主機_日誌_位置

  • 主機_密碼

  • 主機_連接埠

  • 主機_公開金鑰_路徑

  • 主機_重試_次數

  • 主機_SSL

  • 主機_SSL_CA

  • 主機_SSL_CAPATH

  • 主機_SSL_憑證

  • 主機_SSL_加密

  • 主機_SSL_CRL

  • 主機_SSL_CRLPATH

  • 主機_SSL_金鑰

  • 主機_SSL_驗證_伺服器_憑證 (R)

  • 主機_TLS_加密套件

  • 主機_TLS_版本

  • 主機_使用者

  • 主機_ZSTD_壓縮_層級