MySQL保留字
MySQL中的保留字和Java中的保留字一样,在命名时不能使用保留字,所以对于MySQL中的保留字要有个大概的印象,下文自dev.mysql.com/doc/refman/…获取,如有需要可以到官网查看详情。
以下列表显示了My SQL 5.7中的关键字和保留单词,以及不同版本对单个单词的更改。保留关键字用(R)标记。此外,保留FILENAME。
在某些时候,您可能会升级到更高的版本,因此,查看未来的保留字也是一个好主意。您可以在包含更高版本My SQL的手册中找到这些。标准SQL禁止列表中的大多数保留字作为列或表名(例如,GROUP)。保留了一些,因为我的SQL需要它们并使用yacc解析器。
A
ACCESSIBLE(R)ACCOUNT; added in 5.7.6 (nonreserved)ACTIONADD(R)AFTERAGAINSTAGGREGATEALGORITHMALL(R)ALTER(R)ALWAYS; added in 5.7.6 (nonreserved)ANALYSEANALYZE(R)AND(R)ANYAS(R)ASC(R)ASCIIASENSITIVE(R)ATAUTOEXTEND_SIZEAUTO_INCREMENTAVGAVG_ROW_LENGTH
B
BACKUPBEFORE(R)BEGINBETWEEN(R)BIGINT(R)BINARY(R)BINLOGBITBLOB(R)BLOCKBOOLBOOLEANBOTH(R)BTREEBY(R)BYTE
C
CACHECALL(R)CASCADE(R)CASCADEDCASE(R)CATALOG_NAMECHAINCHANGE(R)CHANGEDCHANNEL; added in 5.7.6 (nonreserved)CHAR(R)CHARACTER(R)CHARSETCHECK(R)CHECKSUMCIPHERCLASS_ORIGINCLIENTCLOSECOALESCECODECOLLATE(R)COLLATIONCOLUMN(R)COLUMNSCOLUMN_FORMATCOLUMN_NAMECOMMENTCOMMITCOMMITTEDCOMPACTCOMPLETIONCOMPRESSEDCOMPRESSION; added in 5.7.8 (nonreserved)CONCURRENTCONDITION(R)CONNECTIONCONSISTENTCONSTRAINT(R)CONSTRAINT_CATALOGCONSTRAINT_NAMECONSTRAINT_SCHEMACONTAINSCONTEXTCONTINUE(R)CONVERT(R)CPUCREATE(R)CROSS(R)CUBECURRENTCURRENT_DATE(R)CURRENT_TIME(R)CURRENT_TIMESTAMP(R)CURRENT_USER(R)CURSOR(R)CURSOR_NAME
D
DATADATABASE(R)DATABASES(R)DATAFILEDATEDATETIMEDAYDAY_HOUR(R)DAY_MICROSECOND(R)DAY_MINUTE(R)DAY_SECOND(R)DEALLOCATEDEC(R)DECIMAL(R)DECLARE(R)DEFAULT(R)DEFAULT_AUTHDEFINERDELAYED(R)DELAY_KEY_WRITEDELETE(R)DESC(R)DESCRIBE(R)DES_KEY_FILEDETERMINISTIC(R)DIAGNOSTICSDIRECTORYDISABLEDISCARDDISKDISTINCT(R)DISTINCTROW(R)DIV(R)DODOUBLE(R)DROP(R)DUAL(R)DUMPFILEDUPLICATEDYNAMIC
E
EACH(R)ELSE(R)ELSEIF(R)ENABLEENCLOSED(R)ENCRYPTION; added in 5.7.11 (nonreserved)ENDENDSENGINEENGINESENUMERRORERRORSESCAPEESCAPED(R)EVENTEVENTSEVERYEXCHANGEEXECUTEEXISTS(R)EXIT(R)EXPANSIONEXPIREEXPLAIN(R)EXPORTEXTENDEDEXTENT_SIZE
F
FALSE(R)FASTFAULTSFETCH(R)FIELDSFILEFILE_BLOCK_SIZE; added in 5.7.6 (nonreserved)FILTER; added in 5.7.3 (nonreserved)FIRSTFIXEDFLOAT(R)FLOAT4(R)FLOAT8(R)FLUSHFOLLOWS; added in 5.7.2 (nonreserved)FOR(R)FORCE(R)FOREIGN(R)FORMATFOUNDFROM(R)FULLFULLTEXT(R)FUNCTION
G
GENERALGENERATED(R); added in 5.7.6 (reserved)GEOMETRYGEOMETRYCOLLECTIONGET(R)GET_FORMATGLOBALGRANT(R)GRANTSGROUP(R)GROUP_REPLICATION; added in 5.7.6 (nonreserved)
H
HANDLERHASHHAVING(R)HELPHIGH_PRIORITY(R)HOSTHOSTSHOURHOUR_MICROSECOND(R)HOUR_MINUTE(R)HOUR_SECOND(R)
I
IDENTIFIEDIF(R)IGNORE(R)IGNORE_SERVER_IDSIMPORTIN(R)INDEX(R)INDEXESINFILE(R)INITIAL_SIZEINNER(R)INOUT(R)INSENSITIVE(R)INSERT(R)INSERT_METHODINSTALLINSTANCE; added in 5.7.11 (nonreserved)INT(R)INT1(R)INT2(R)INT3(R)INT4(R)INT8(R)INTEGER(R)INTERVAL(R)INTO(R)INVOKERIOIO_AFTER_GTIDS(R)IO_BEFORE_GTIDS(R)IO_THREADIPCIS(R)ISOLATIONISSUERITERATE(R)
J
JOIN(R)JSON; added in 5.7.8 (nonreserved)
K
KEY(R)KEYS(R)KEY_BLOCK_SIZEKILL(R)
L
LANGUAGELASTLEADING(R)LEAVE(R)LEAVESLEFT(R)LESSLEVELLIKE(R)LIMIT(R)LINEAR(R)LINES(R)LINESTRINGLISTLOAD(R)LOCALLOCALTIME(R)LOCALTIMESTAMP(R)LOCK(R)LOCKSLOGFILELOGSLONG(R)LONGBLOB(R)LONGTEXT(R)LOOP(R)LOW_PRIORITY(R)
M
MASTERMASTER_AUTO_POSITIONMASTER_BIND(R)MASTER_CONNECT_RETRYMASTER_DELAYMASTER_HEARTBEAT_PERIODMASTER_HOSTMASTER_LOG_FILEMASTER_LOG_POSMASTER_PASSWORDMASTER_PORTMASTER_RETRY_COUNTMASTER_SERVER_IDMASTER_SSLMASTER_SSL_CAMASTER_SSL_CAPATHMASTER_SSL_CERTMASTER_SSL_CIPHERMASTER_SSL_CRLMASTER_SSL_CRLPATHMASTER_SSL_KEYMASTER_SSL_VERIFY_SERVER_CERT(R)MASTER_TLS_VERSION; added in 5.7.10 (nonreserved)MASTER_USERMATCH(R)MAXVALUE(R)MAX_CONNECTIONS_PER_HOURMAX_QUERIES_PER_HOURMAX_ROWSMAX_SIZEMAX_STATEMENT_TIME; added in 5.7.4 (nonreserved); removed in 5.7.8MAX_UPDATES_PER_HOURMAX_USER_CONNECTIONSMEDIUMMEDIUMBLOB(R)MEDIUMINT(R)MEDIUMTEXT(R)MEMORYMERGEMESSAGE_TEXTMICROSECONDMIDDLEINT(R)MIGRATEMINUTEMINUTE_MICROSECOND(R)MINUTE_SECOND(R)MIN_ROWSMOD(R)MODEMODIFIES(R)MODIFYMONTHMULTILINESTRINGMULTIPOINTMULTIPOLYGONMUTEXMYSQL_ERRNO
N
NAMENAMESNATIONALNATURAL(R)NCHARNDBNDBCLUSTERNEVER; added in 5.7.4 (nonreserved)NEWNEXTNONODEGROUPNONBLOCKING; removed in 5.7.6NONENOT(R)NO_WAITNO_WRITE_TO_BINLOG(R)NULL(R)NUMBERNUMERIC(R)NVARCHAR
O
OFFSETOLD_PASSWORD; removed in 5.7.5ON(R)ONEONLYOPENOPTIMIZE(R)OPTIMIZER_COSTS(R); added in 5.7.5 (reserved)OPTION(R)OPTIONALLY(R)OPTIONSOR(R)ORDER(R)OUT(R)OUTER(R)OUTFILE(R)OWNER
P
PACK_KEYSPAGEPARSERPARSE_GCOL_EXPR; added in 5.7.6 (reserved); became nonreserved in 5.7.8PARTIALPARTITION(R)PARTITIONINGPARTITIONSPASSWORDPHASEPLUGINPLUGINSPLUGIN_DIRPOINTPOLYGONPORTPRECEDES; added in 5.7.2 (nonreserved)PRECISION(R)PREPAREPRESERVEPREVPRIMARY(R)PRIVILEGESPROCEDURE(R)PROCESSLISTPROFILEPROFILESPROXYPURGE(R)
Q
QUARTERQUERYQUICK
R
RANGE(R)READ(R)READS(R)READ_ONLYREAD_WRITE(R)REAL(R)REBUILDRECOVERREDOFILEREDO_BUFFER_SIZEREDUNDANTREFERENCES(R)REGEXP(R)RELAYRELAYLOGRELAY_LOG_FILERELAY_LOG_POSRELAY_THREADRELEASE(R)RELOADREMOVERENAME(R)REORGANIZEREPAIRREPEAT(R)REPEATABLEREPLACE(R)REPLICATE_DO_DB; added in 5.7.3 (nonreserved)REPLICATE_DO_TABLE; added in 5.7.3 (nonreserved)REPLICATE_IGNORE_DB; added in 5.7.3 (nonreserved)REPLICATE_IGNORE_TABLE; added in 5.7.3 (nonreserved)REPLICATE_REWRITE_DB; added in 5.7.3 (nonreserved)REPLICATE_WILD_DO_TABLE; added in 5.7.3 (nonreserved)REPLICATE_WILD_IGNORE_TABLE; added in 5.7.3 (nonreserved)REPLICATIONREQUIRE(R)RESETRESIGNAL(R)RESTORERESTRICT(R)RESUMERETURN(R)RETURNED_SQLSTATERETURNSREVERSEREVOKE(R)RIGHT(R)RLIKE(R)ROLLBACKROLLUPROTATE; added in 5.7.11 (nonreserved)ROUTINEROWROWSROW_COUNTROW_FORMATRTREE
S
SAVEPOINTSCHEDULESCHEMA(R)SCHEMAS(R)SCHEMA_NAMESECONDSECOND_MICROSECOND(R)SECURITYSELECT(R)SENSITIVE(R)SEPARATOR(R)SERIALSERIALIZABLESERVERSESSIONSET(R)SHARESHOW(R)SHUTDOWNSIGNAL(R)SIGNEDSIMPLESLAVESLOWSMALLINT(R)SNAPSHOTSOCKETSOMESONAMESOUNDSSOURCESPATIAL(R)SPECIFIC(R)SQL(R)SQLEXCEPTION(R)SQLSTATE(R)SQLWARNING(R)SQL_AFTER_GTIDSSQL_AFTER_MTS_GAPSSQL_BEFORE_GTIDSSQL_BIG_RESULT(R)SQL_BUFFER_RESULTSQL_CACHESQL_CALC_FOUND_ROWS(R)SQL_NO_CACHESQL_SMALL_RESULT(R)SQL_THREADSQL_TSI_DAYSQL_TSI_HOURSQL_TSI_MINUTESQL_TSI_MONTHSQL_TSI_QUARTERSQL_TSI_SECONDSQL_TSI_WEEKSQL_TSI_YEARSSL(R)STACKEDSTARTSTARTING(R)STARTSSTATS_AUTO_RECALCSTATS_PERSISTENTSTATS_SAMPLE_PAGESSTATUSSTOPSTORAGESTORED(R); added in 5.7.6 (reserved)STRAIGHT_JOIN(R)STRINGSUBCLASS_ORIGINSUBJECTSUBPARTITIONSUBPARTITIONSSUPERSUSPENDSWAPSSWITCHES
T
TABLE(R)TABLESTABLESPACETABLE_CHECKSUMTABLE_NAMETEMPORARYTEMPTABLETERMINATED(R)TEXTTHANTHEN(R)TIMETIMESTAMPTIMESTAMPADDTIMESTAMPDIFFTINYBLOB(R)TINYINT(R)TINYTEXT(R)TO(R)TRAILING(R)TRANSACTIONTRIGGER(R)TRIGGERSTRUE(R)TRUNCATETYPETYPES
U
UNCOMMITTEDUNDEFINEDUNDO(R)UNDOFILEUNDO_BUFFER_SIZEUNICODEUNINSTALLUNION(R)UNIQUE(R)UNKNOWNUNLOCK(R)UNSIGNED(R)UNTILUPDATE(R)UPGRADEUSAGE(R)USE(R)USERUSER_RESOURCESUSE_FRMUSING(R)UTC_DATE(R)UTC_TIME(R)UTC_TIMESTAMP(R)
V
VALIDATION; added in 5.7.5 (nonreserved)VALUEVALUES(R)VARBINARY(R)VARCHAR(R)VARCHARACTER(R)VARIABLESVARYING(R)VIEWVIRTUAL(R); added in 5.7.6 (reserved)
W
WAITWARNINGSWEEKWEIGHT_STRINGWHEN(R)WHERE(R)WHILE(R)WITH(R)WITHOUT; added in 5.7.5 (nonreserved)WORKWRAPPERWRITE(R)
X
X509XAXID; added in 5.7.5 (nonreserved)XMLXOR(R)
Y
YEARYEAR_MONTH(R)
Z
ZEROFILL(R)
MySQL 5.7 New Keywords and Reserved Words
The following list shows the keywords and reserved words that are added in MySQL 5.7, compared to MySQL 5.6. Reserved keywords are marked with (R).
A | C | E | F | G | I | J | M | N | O | P | R | S | V | W | X
A
ACCOUNTALWAYS
C
CHANNELCOMPRESSION
E
ENCRYPTION
F
FILE_BLOCK_SIZEFILTERFOLLOWS
G
GENERATED(R)GROUP_REPLICATION
I
INSTANCE
J
JSON
M
MASTER_TLS_VERSION
N
NEVER
O
OPTIMIZER_COSTS(R)
P
PARSE_GCOL_EXPRPRECEDES
R
REPLICATE_DO_DBREPLICATE_DO_TABLEREPLICATE_IGNORE_DBREPLICATE_IGNORE_TABLEREPLICATE_REWRITE_DBREPLICATE_WILD_DO_TABLEREPLICATE_WILD_IGNORE_TABLEROTATE
S
STACKEDSTORED(R)
V
VALIDATIONVIRTUAL(R)
W
WITHOUT
X
XID**