关键字

本文介绍 TiDB 的关键字,对保留字和非保留字作出区分,并汇总所有的关键字以供查询使用。

关键字是 SQL 语句中具有特殊含义的单词,例如 SELECTUPDATEDELETE 等等。它们之中有的能够直接作为标识符,被称为非保留关键字(简称非保留字),但有需要经过特殊处理才能作为标识符的字,被称为保留关键字(简称保留字)。

对于保留字,必须使用反引号包裹,才能作为标识符被使用。例如:

  1. CREATE TABLE select (a INT);
  1. ERROR 1105 (HY000): line 0 column 19 near " (a INT)" (total length 27)
  1. CREATE TABLE `select` (a INT);
  1. Query OK, 0 rows affected (0.09 sec)

而非保留字则不需要反引号也能直接作为标识符。例如 BEGINEND 是非保留字,以下语句能够正常执行:

  1. CREATE TABLE `select` (BEGIN int, END int);
  1. Query OK, 0 rows affected (0.09 sec)

有一种特殊情况,如果使用了限定符 .,那么也不需要用反引号:

  1. CREATE TABLE test.select (BEGIN int, END int);
  1. Query OK, 0 rows affected (0.08 sec)

下表列出了 TiDB 中所有的关键字。其中保留字用 (R) 来标识。窗口函数的保留字用 (R-Window) 来标识:

A

  • ACCOUNT
  • ACTION
  • ADD (R)
  • ADMIN (R)
  • ADVISE
  • AFTER
  • AGAINST
  • AGO
  • ALGORITHM
  • ALL (R)
  • ALTER (R)
  • ALWAYS
  • ANALYZE (R)
  • AND (R)
  • ANY
  • AS (R)
  • ASC (R)
  • ASCII
  • AUTO_ID_CACHE
  • AUTO_INCREMENT
  • AUTO_RANDOM
  • AUTO_RANDOM_BASE
  • AVG
  • AVG_ROW_LENGTH

B

  • BACKEND
  • BACKUP
  • BACKUPS
  • BEGIN
  • BETWEEN (R)
  • BIGINT (R)
  • BINARY (R)
  • BINDING
  • BINDINGS
  • BINLOG
  • BIT
  • BLOB (R)
  • BLOCK
  • BOOL
  • BOOLEAN
  • BOTH (R)
  • BTREE
  • BUCKETS (R)
  • BUILTINS (R)
  • BY (R)
  • BYTE

C

  • CACHE
  • CANCEL (R)
  • CAPTURE
  • CASCADE (R)
  • CASCADED
  • CASE (R)
  • CHAIN
  • CHANGE (R)
  • CHAR (R)
  • CHARACTER (R)
  • CHARSET
  • CHECK (R)
  • CHECKPOINT
  • CHECKSUM
  • CIPHER
  • CLEANUP
  • CLIENT
  • CMSKETCH (R)
  • COALESCE
  • COLLATE (R)
  • COLLATION
  • COLUMN (R)
  • COLUMNS
  • COLUMN_FORMAT
  • COMMENT
  • COMMIT
  • COMMITTED
  • COMPACT
  • COMPRESSED
  • COMPRESSION
  • CONCURRENCY
  • CONFIG
  • CONNECTION
  • CONSISTENT
  • CONSTRAINT (R)
  • CONTEXT
  • CONVERT (R)
  • CPU
  • CREATE (R)
  • CROSS (R)
  • CSV_BACKSLASH_ESCAPE
  • CSV_DELIMITER
  • CSV_HEADER
  • CSV_NOT_NULL
  • CSV_NULL
  • CSV_SEPARATOR
  • CSV_TRIM_LAST_SEPARATORS
  • CUME_DIST (R-Window)
  • CURRENT
  • CURRENT_DATE (R)
  • CURRENT_ROLE (R)
  • CURRENT_TIME (R)
  • CURRENT_TIMESTAMP (R)
  • CURRENT_USER (R)
  • CYCLE

D

  • DATA
  • DATABASE (R)
  • DATABASES (R)
  • DATE
  • DATETIME
  • DAY
  • DAY_HOUR (R)
  • DAY_MICROSECOND (R)
  • DAY_MINUTE (R)
  • DAY_SECOND (R)
  • DDL (R)
  • DEALLOCATE
  • DECIMAL (R)
  • DEFAULT (R)
  • DEFINER
  • DELAYED (R)
  • DELAY_KEY_WRITE
  • DELETE (R)
  • DENSE_RANK (R-Window)
  • DEPTH (R)
  • DESC (R)
  • DESCRIBE (R)
  • DIRECTORY
  • DISABLE
  • DISCARD
  • DISK
  • DISTINCT (R)
  • DISTINCTROW (R)
  • DIV (R)
  • DO
  • DOUBLE (R)
  • DRAINER (R)
  • DROP (R)
  • DUAL (R)
  • DUPLICATE
  • DYNAMIC

E

  • ELSE (R)
  • ENABLE
  • ENCLOSED (R)
  • ENCRYPTION
  • END
  • ENFORCED
  • ENGINE
  • ENGINES
  • ENUM
  • ERROR
  • ERRORS
  • ESCAPE
  • ESCAPED (R)
  • EVENT
  • EVENTS
  • EVOLVE
  • EXCEPT (R)
  • EXCHANGE
  • EXCLUSIVE
  • EXECUTE
  • EXISTS (R)
  • EXPANSION
  • EXPIRE
  • EXPLAIN (R)
  • EXTENDED

F

  • FALSE (R)
  • FAULTS
  • FIELDS
  • FILE
  • FIRST
  • FIRST_VALUE (R-Window)
  • FIXED
  • FLOAT (R)
  • FLUSH
  • FOLLOWING
  • FOR (R)
  • FORCE (R)
  • FOREIGN (R)
  • FORMAT
  • FROM (R)
  • FULL
  • FULLTEXT (R)
  • FUNCTION

G

  • GENERAL
  • GENERATED (R)
  • GLOBAL
  • GRANT (R)
  • GRANTS
  • GROUP (R)
  • GROUPS (R-Window)

H

  • HASH
  • HAVING (R)
  • HIGH_PRIORITY (R)
  • HISTORY
  • HOSTS
  • HOUR
  • HOUR_MICROSECOND (R)
  • HOUR_MINUTE (R)
  • HOUR_SECOND (R)

I

  • IDENTIFIED
  • IF (R)
  • IGNORE (R)
  • IMPORT
  • IMPORTS
  • IN (R)
  • INCREMENT
  • INCREMENTAL
  • INDEX (R)
  • INDEXES
  • INFILE (R)
  • INNER (R)
  • INSERT (R)
  • INSERT_METHOD
  • INSTANCE
  • INT (R)
  • INT1 (R)
  • INT2 (R)
  • INT3 (R)
  • INT4 (R)
  • INT8 (R)
  • INTEGER (R)
  • INTERVAL (R)
  • INTO (R)
  • INVISIBLE
  • INVOKER
  • IO
  • IPC
  • IS (R)
  • ISOLATION
  • ISSUER

J

  • JOB (R)
  • JOBS (R)
  • JOIN (R)
  • JSON

K

  • KEY (R)
  • KEYS (R)
  • KEY_BLOCK_SIZE
  • KILL (R)

L

  • LABELS
  • LAG (R-Window)
  • LANGUAGE
  • LAST
  • LASTVAL
  • LAST_BACKUP
  • LAST_VALUE (R-Window)
  • LEAD (R-Window)
  • LEADING (R)
  • LEFT (R)
  • LESS
  • LEVEL
  • LIKE (R)
  • LIMIT (R)
  • LINEAR (R)
  • LINES (R)
  • LIST
  • LOAD (R)
  • LOCAL
  • LOCALTIME (R)
  • LOCALTIMESTAMP (R)
  • LOCATION
  • LOCK (R)
  • LOGS
  • LONG (R)
  • LONGBLOB (R)
  • LONGTEXT (R)
  • LOW_PRIORITY (R)

M

  • MASTER
  • MATCH (R)
  • MAXVALUE (R)
  • MAX_CONNECTIONS_PER_HOUR
  • MAX_IDXNUM
  • MAX_MINUTES
  • MAX_QUERIES_PER_HOUR
  • MAX_ROWS
  • MAX_UPDATES_PER_HOUR
  • MAX_USER_CONNECTIONS
  • MB
  • MEDIUMBLOB (R)
  • MEDIUMINT (R)
  • MEDIUMTEXT (R)
  • MEMORY
  • MERGE
  • MICROSECOND
  • MINUTE
  • MINUTE_MICROSECOND (R)
  • MINUTE_SECOND (R)
  • MINVALUE
  • MIN_ROWS
  • MOD (R)
  • MODE
  • MODIFY
  • MONTH

N

  • NAMES
  • NATIONAL
  • NATURAL (R)
  • NCHAR
  • NEVER
  • NEXT
  • NEXTVAL
  • NO
  • NOCACHE
  • NOCYCLE
  • NODEGROUP
  • NODE_ID (R)
  • NODE_STATE (R)
  • NOMAXVALUE
  • NOMINVALUE
  • NONE
  • NOT (R)
  • NOWAIT
  • NO_WRITE_TO_BINLOG (R)
  • NTH_VALUE (R-Window)
  • NTILE (R-Window)
  • NULL (R)
  • NULLS
  • NUMERIC (R)
  • NVARCHAR

O

  • OFFSET
  • ON (R)
  • ONLINE
  • ONLY
  • ON_DUPLICATE
  • OPEN
  • OPTIMISTIC (R)
  • OPTIMIZE (R)
  • OPTION (R)
  • OPTIONALLY (R)
  • OR (R)
  • ORDER (R)
  • OUTER (R)
  • OUTFILE (R)
  • OVER (R-Window)

P

  • PACK_KEYS
  • PAGE
  • PARSER
  • PARTIAL
  • PARTITION (R)
  • PARTITIONING
  • PARTITIONS
  • PASSWORD
  • PERCENT_RANK (R-Window)
  • PER_DB
  • PER_TABLE
  • PESSIMISTIC (R)
  • PLUGINS
  • PRECEDING
  • PRECISION (R)
  • PREPARE
  • PRE_SPLIT_REGIONS
  • PRIMARY (R)
  • PRIVILEGES
  • PROCEDURE (R)
  • PROCESS
  • PROCESSLIST
  • PROFILE
  • PROFILES
  • PUMP (R)

Q

  • QUARTER
  • QUERIES
  • QUERY
  • QUICK

R

  • RANGE (R)
  • RANK (R-Window)
  • RATE_LIMIT
  • READ (R)
  • REAL (R)
  • REBUILD
  • RECOVER
  • REDUNDANT
  • REFERENCES (R)
  • REGEXP (R)
  • REGION (R)
  • REGIONS (R)
  • RELEASE (R)
  • RELOAD
  • REMOVE
  • RENAME (R)
  • REORGANIZE
  • REPAIR
  • REPEAT (R)
  • REPEATABLE
  • REPLACE (R)
  • REPLICA
  • REPLICATION
  • REQUIRE (R)
  • RESPECT
  • RESTORE
  • RESTORES
  • RESTRICT (R)
  • REVERSE
  • REVOKE (R)
  • RIGHT (R)
  • RLIKE (R)
  • ROLE
  • ROLLBACK
  • ROUTINE
  • ROW (R)
  • ROWS (R-Window)
  • ROW_COUNT
  • ROW_FORMAT
  • ROW_NUMBER (R-Window)
  • RTREE

S

  • SAMPLES (R)
  • SECOND
  • SECONDARY_ENGINE
  • SECONDARY_LOAD
  • SECONDARY_UNLOAD
  • SECOND_MICROSECOND (R)
  • SECURITY
  • SELECT (R)
  • SEND_CREDENTIALS_TO_TIKV
  • SEPARATOR
  • SEQUENCE
  • SERIAL
  • SERIALIZABLE
  • SESSION
  • SET (R)
  • SETVAL
  • SHARD_ROW_ID_BITS
  • SHARE
  • SHARED
  • SHOW (R)
  • SHUTDOWN
  • SIGNED
  • SIMPLE
  • SKIP_SCHEMA_FILES
  • SLAVE
  • SLOW
  • SMALLINT (R)
  • SNAPSHOT
  • SOME
  • SOURCE
  • SPATIAL (R)
  • SPLIT (R)
  • SQL (R)
  • SQL_BIG_RESULT (R)
  • SQL_BUFFER_RESULT
  • SQL_CACHE
  • SQL_CALC_FOUND_ROWS (R)
  • SQL_NO_CACHE
  • SQL_SMALL_RESULT (R)
  • SQL_TSI_DAY
  • SQL_TSI_HOUR
  • SQL_TSI_MINUTE
  • SQL_TSI_MONTH
  • SQL_TSI_QUARTER
  • SQL_TSI_SECOND
  • SQL_TSI_WEEK
  • SQL_TSI_YEAR
  • SSL (R)
  • START
  • STARTING (R)
  • STATS (R)
  • STATS_AUTO_RECALC
  • STATS_BUCKETS (R)
  • STATS_HEALTHY (R)
  • STATS_HISTOGRAMS (R)
  • STATS_META (R)
  • STATS_PERSISTENT
  • STATS_SAMPLE_PAGES
  • STATUS
  • STORAGE
  • STORED (R)
  • STRAIGHT_JOIN (R)
  • STRICT_FORMAT
  • SUBJECT
  • SUBPARTITION
  • SUBPARTITIONS
  • SUPER
  • SWAPS
  • SWITCHES
  • SYSTEM_TIME

T

  • TABLE (R)
  • TABLES
  • TABLESPACE
  • TABLE_CHECKSUM
  • TEMPORARY
  • TEMPTABLE
  • TERMINATED (R)
  • TEXT
  • THAN
  • THEN (R)
  • TIDB (R)
  • TIFLASH (R)
  • TIKV_IMPORTER
  • TIME
  • TIMESTAMP
  • TINYBLOB (R)
  • TINYINT (R)
  • TINYTEXT (R)
  • TO (R)
  • TOPN (R)
  • TRACE
  • TRADITIONAL
  • TRAILING (R)
  • TRANSACTION
  • TRIGGER (R)
  • TRIGGERS
  • TRUE (R)
  • TRUNCATE
  • TYPE

U

  • UNBOUNDED
  • UNCOMMITTED
  • UNDEFINED
  • UNICODE
  • UNION (R)
  • UNIQUE (R)
  • UNKNOWN
  • UNLOCK (R)
  • UNSIGNED (R)
  • UPDATE (R)
  • USAGE (R)
  • USE (R)
  • USER
  • 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)
  • VIEW
  • VIRTUAL (R)
  • VISIBLE

W

  • WARNINGS
  • WEEK
  • WEIGHT_STRING
  • WHEN (R)
  • WHERE (R)
  • WIDTH (R)
  • WINDOW (R-Window)
  • WITH (R)
  • WITHOUT
  • WRITE (R)

X

  • X509
  • XOR (R)

Y

  • YEAR
  • YEAR_MONTH (R)

Z

  • ZEROFILL (R)