MySQL保留字都有哪些

MySQL保留字都有哪些

既然不能用MySQL规定的保留字作为数据表名和字段名,咱们改名字就好了。

对于表格名,一般的程序都会给数据表添加前缀,而加了前缀的表名,就不会跟MySQL关键字相冲突了。

因此重点是字段名,它们不能跟表名一样加前缀,加了可能就各种糟糕了。


MySQL的关键字还是挺多了,我罗列一下。

看了下面的列表,大家可能瞬间就凌乱了。

不过聪明的朋友已经按下浏览器的“Ctrl+F”来搜索/匹配/高亮关键字了。

ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE 
BEFORE BETWEEN BIGINT BINARY BLOB BOTH BY 
CALL CASCADE CASE CHANGE CHAR CHARACTER CHECK 
COLLATE COLUMN CONDITION CONNECTION CONSTRAINT 
CONTINUE CONVERT CREATE CROSS CURRENT_DATE 
CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURSOR 
DATABASE DATABASES DAY_HOUR DAY_MICROSECOND 
DAY_MINUTE DAY_SECOND DEC DECIMAL DECLARE DEFAULT 
DELAYED DELETE DESC DESCRIBE DETERMINISTIC 
DISTINCT DISTINCTROW DIV DOUBLE DROP DUAL 
EACH ELSE ELSEIF ENCLOSED ESCAPED EXISTS EXIT EXPLAIN 
FALSE FETCH FLOAT FLOAT4 FLOAT8 FOR FORCE 
FOREIGN FROM FULLTEXT 
GOTO GRANT GROUP 
HAVING HIGH_PRIORITY HOUR_MICROSECOND 
HOUR_MINUTE HOUR_SECOND 
IF IGNORE IN INDEX INFILE INNER INOUT INSENSITIVE 
INSERT INT INT1 INT2 INT3 INT4 INT8 INTEGER 
INTERVAL INTO IS ITERATE JOIN 
KEY KEYS KILL 
LABEL LEADING LEAVE LEFT LIKE LIMIT LINEAR LINES 
LOAD LOCALTIME LOCALTIMESTAMP LOCK LONG LONGBLOB 
LONGTEXT LOOP LOW_PRIORITY 
MATCH MEDIUMBLOB MEDIUMINT MEDIUMTEXT MIDDLEINT 
MINUTE_MICROSECOND MINUTE_SECOND MOD MODIFIES 
NATURAL NOT NO_WRITE_TO_BINLOG NULL NUMERIC 
ON OPTIMIZE OPTION OPTIONALLY OR ORDER OUT OUTER OUTFILE 
PRECISION PRIMARY PROCEDURE PURGE 
RAID0 RANGE READ READS REAL REFERENCES REGEXP RELEASE 
RENAME REPEAT REPLACE REQUIRE RESTRICT RETURN 
REVOKE RIGHT RLIKE 
SCHEMA SCHEMAS SECOND_MICROSECOND SELECT SENSITIVE 
SEPARATOR SET SHOW SMALLINT SPATIAL SPECIFIC SQL 
SQLEXCEPTION SQLSTATE SQLWARNING SQL_BIG_RESULT 
SQL_CALC_FOUND_ROWS SQL_SMALL_RESULT SSL STARTING 
STRAIGHT_JOIN 
TABLE TERMINATED THEN TINYBLOB TINYINT TINYTEXT TO 
TRAILING TRIGGER TRUE 
UNDO UNION UNIQUE UNLOCK UNSIGNED UPDATE USAGE USE 
USING UTC_DATE UTC_TIME UTC_TIMESTAMP 
VALUES VARBINARY VARCHAR VARCHARACTER VARYING 
WHEN WHERE WHILE WITH WRITE 
X509 XOR 
YEAR_MONTH 
ZEROFILL


值得注意的是,MySQL允许部分关键字用做未引起来的识别符,因为许多人以前曾使用过它们。

下面列出了一些例子:

ACTION BIT DATE ENUM NO TEXT TIME TIMESTAMP


3