title | category |
---|---|
关键字和保留字 |
user guide |
关键字在 SQL 中有特殊的意义, 例如 SELECT
,UPDATE
,DELETE
,在作为表名跟函数名的时候,需要特殊对待,例如作为表名,保留字需要被反引号包住:
mysql> CREATE TABLE select (a INT);
ERROR 1105 (HY000): line 0 column 19 near " (a INT)" (total length 27)
mysql> CREATE TABLE `select` (a INT);
Query OK, 0 rows affected (0.09 sec)
BEGIN
和 END
是关键字, 但不是保留字,所以不需要反引号:
mysql> CREATE TABLE `select` (BEGIN int, END int);
Query OK, 0 rows affected (0.09 sec)
有一种特殊情况, 如果使用了限定符 .
,那么也不需要用反引号:
mysql> CREATE TABLE test.select (BEGIN int, END int);
Query OK, 0 rows affected (0.08 sec)
下表列出了在 TiDB 中的关键字跟保留字,保留字用 (R) 来标识:
ACTION | ADD (R) | ADDDATE |
---|---|---|
ADMIN | AFTER | ALL (R) |
ALTER (R) | ALWAYS | ANALYZE(R) |
AND (R) | ANY | AS (R) |
ASC (R) | ASCII | AUTO_INCREMENT |
AVG | AVG_ROW_LENGTH | BEGIN |
BETWEEN (R) | BIGINT (R) | BINARY (R) |
BINLOG | BIT | BIT_XOR |
BLOB (R) | BOOL | BOOLEAN |
BOTH (R) | BTREE | BY (R) |
BYTE | CASCADE (R) | CASE (R) |
CAST | CHANGE (R) | CHAR (R) |
CHARACTER (R) | CHARSET | CHECK (R) |
CHECKSUM | COALESCE | COLLATE (R) |
COLLATION | COLUMN (R) | COLUMNS |
COMMENT | COMMIT | COMMITTED |
COMPACT | COMPRESSED | COMPRESSION |
CONNECTION | CONSISTENT | CONSTRAINT (R) |
CONVERT (R) | COUNT | CREATE (R) |
CROSS (R) | CURRENT_DATE (R) | CURRENT_TIME (R) |
CURRENT_TIMESTAMP (R) | CURRENT_USER (R) | CURTIME |
DATA | DATABASE (R) | DATABASES (R) |
DATE | DATE_ADD | DATE_SUB |
DATETIME | DAY | DAY_HOUR (R) |
DAY_MICROSECOND (R) | DAY_MINUTE (R) | DAY_SECOND (R) |
DDL | DEALLOCATE | DEC |
DECIMAL (R) | DEFAULT (R) | DELAY_KEY_WRITE |
DELAYED (R) | DELETE (R) | DESC (R) |
DESCRIBE (R) | DISABLE | DISTINCT (R) |
DISTINCTROW (R) | DIV (R) | DO |
DOUBLE (R) | DROP (R) | DUAL (R) |
DUPLICATE | DYNAMIC | ELSE (R) |
ENABLE | ENCLOSED | END |
ENGINE | ENGINES | ENUM |
ESCAPE | ESCAPED | EVENTS |
EXCLUSIVE | EXECUTE | EXISTS |
EXPLAIN (R) | EXTRACT | FALSE (R) |
FIELDS | FIRST | FIXED |
FLOAT (R) | FLUSH | FOR (R) |
FORCE (R) | FOREIGN (R) | FORMAT |
FROM (R) | FULL | FULLTEXT (R) |
FUNCTION | GENERATED (R) | GET_FORMAT |
GLOBAL | GRANT (R) | GRANTS |
GROUP (R) | GROUP_CONCAT | HASH |
HAVING (R) | HIGH_PRIORITY (R) | HOUR |
HOUR_MICROSECOND (R) | HOUR_MINUTE (R) | HOUR_SECOND (R) |
IDENTIFIED | IF (R) | IGNORE (R) |
IN (R) | INDEX (R) | INDEXES |
INFILE (R) | INNER (R) | INSERT (R) |
INT (R) | INTEGER (R) | INTERVAL (R) |
INTO (R) | IS (R) | ISOLATION |
JOBS | JOIN (R) | JSON |
KEY (R) | KEY_BLOCK_SIZE | KEYS (R) |
KILL (R) | LEADING (R) | LEFT (R) |
LESS | LEVEL | LIKE (R) |
LIMIT (R) | LINES (R) | LOAD (R) |
LOCAL | LOCALTIME (R) | LOCALTIMESTAMP (R) |
LOCK (R) | LONGBLOB (R) | LONGTEXT (R) |
LOW_PRIORITY (R) | MAX | MAX_ROWS |
MAXVALUE (R) | MEDIUMBLOB (R) | MEDIUMINT (R) |
MEDIUMTEXT (R) | MICROSECOND | MIN |
MIN_ROWS | MINUTE | MINUTE_MICROSECOND (R) |
MINUTE_SECOND (R) | MIN | MIN_ROWS |
MINUTE | MINUTE_MICROSECOND | MINUTE_SECOND |
MOD (R) | MODE | MODIRY |
MONTH | NAMES | NATIONAL |
NATURAL (R) | NO | NO_WRITE_TO_BINLOG (R) |
NONE | NOT (R) | NOW |
NULL (R) | NUMERIC (R) | NVARCHAR (R) |
OFFSET | ON (R) | ONLY |
OPTION (R) | OR (R) | ORDER (R) |
OUTER (R) | PARTITION (R) | PARTITIONS |
PASSWORD | PLUGINS | POSITION |
PRECISION (R) | PREPARE | PRIMARY (R) |
PRIVILEGES | PROCEDURE (R) | PROCESS |
PROCESSLIST | QUARTER | QUERY |
QUICK | RANGE (R) | READ (R) |
REAL (R) | REDUNDANT | REFERENCES (R) |
REGEXP (R) | RENAME (R) | REPEAT (R) |
REPEATABLE | REPLACE (R) | RESTRICT (R) |
REVERSE | REVOKE (R) | RIGHT (R) |
RLIKE (R) | ROLLBACK | ROW |
ROW_COUNT | ROW_FORMAT | SCHEMA |
SCHEMAS | SECOND | SECOND_MICROSECOND (R) |
SELECT (R) | SERIALIZABLE | SESSION |
SET (R) | SHARE | SHARED |
SHOW (R) | SIGNED | SMALLINT (R) |
SNAPSHOT | SOME | SQL_CACHE |
SQL_CALC_FOUND_ROWS (R) | SQL_NO_CACHE | START |
STARTING (R) | STATS | STATS_BUCKETS |
STATS_HISTOGRAMS | STATS_META | STATS_PERSISTENT |
STATUS | STORED (R) | SUBDATE |
SUBSTR | SUBSTRING | SUM |
SUPER | TABLE (R) | TABLES |
TERMINATED (R) | TEXT | THAN |
THEN (R) | TIDB | TIDB_INLJ |
TIDB_SMJ | TIME | TIMESTAMP |
TIMESTAMPADD | TIMESTAMPDIFF | TINYBLOB (R) |
TINYINT (R) | TINYTEXT (R) | TO (R) |
TRAILING (R) | TRANSACTION | TRIGGER (R) |
TRIGGERS | TRIM | TRUE (R) |
TRUNCATE | UNCOMMITTED | UNION (R) |
UNIQUE (R) | UNKNOWN | UNLOCK (R) |
UNSIGNED (R) | UPDATE (R) | USE (R) |
USER | USING (R) | UTC_DATE (R) |
UTC_TIME (R) | UTC_TIMESTAMP (R) | VALUE |
VALUES (R) | VARBINARY (R) | VARCHAR (R) |
VARIABLES | VIEW | VIRTUAL (R) |
WARNINGS | WEEK | WHEN (R) |
WHERE (R) | WITH (R) | WRITE (R) |
XOR (R) | YEAR | YEAR_MONTH (R) |
ZEROFILL (R) |