如何理解MySQL 5.7中的关键字和保留字,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

最近在将数据从Oracle迁移到MySQL的过程中,遇到一些问题,其中就包括关键字。

MySQL和Oracle的关键字还是不尽相同的,在Oracle数据库中,我们的数据表中定义了大量的code字段用来表示主键,但是在MySQL中code是关键字,使用以前的处理方法就有些“水土不服”。

下面我们来了解一下MySQL中的关键字和保留字。

什么是关键字和保留字

关键字是指在SQL中有意义的字。 某些关键字(例如SELECT,DELETE或BIGINT)是保留的,需要特殊处理才能用作表和列名称等标识符。 这一点对于内置函数的名称也适用。

如何使用关键字和保留字

非保留关键字允许作为标识符,不需要加引号。 如果您要适用保留字作为标识符,就必须适用引号。

举个例子,BEGIN和END是关键字,但不是保留字,因此它们用作标识符不需要引号。 INTERVAL是保留关键字,必须加上引号才能用作标识符。


Table10.2Keywords and Reserved Words in MySQL 5.7

ACCESSIBLE(R)ACCOUNT[a]ACTION














































ADD(R)AFTERAGAINST














































AGGREGATEALGORITHMALL(R)














































ALTER(R)ALWAYS[b]ANALYSE














































ANALYZE(R)AND(R)ANY














































AS(R)ASC(R)ASCII














































ASENSITIVE(R)ATAUTOEXTEND_SIZE














































AUTO_INCREMENTAVGAVG_ROW_LENGTH














































BACKUPBEFORE(R)BEGIN














































BETWEEN(R)BIGINT(R)BINARY(R)














































BINLOGBITBLOB(R)














































BLOCKBOOLBOOLEAN














































BOTH(R)BTREEBY(R)














































BYTECACHECALL(R)














































CASCADE(R)CASCADEDCASE(R)














































CATALOG_NAMECHAINCHANGE(R)














































CHANGEDCHANNEL[c]CHAR(R)














































CHARACTER(R)CHARSETCHECK(R)














































CHECKSUMCIPHERCLASS_ORIGIN














































CLIENTCLOSECOALESCE














































CODECOLLATE(R)COLLATION














































COLUMN(R)COLUMNSCOLUMN_FORMAT














































COLUMN_NAMECOMMENTCOMMIT














































COMMITTEDCOMPACTCOMPLETION














































COMPRESSEDCOMPRESSION[d]CONCURRENT














































CONDITION(R)CONNECTIONCONSISTENT














































CONSTRAINT(R)CONSTRAINT_CATALOGCONSTRAINT_NAME














































CONSTRAINT_SCHEMACONTAINSCONTEXT














































CONTINUE(R)CONVERT(R)CPU














































CREATE(R)CROSS(R)CUBE














































CURRENTCURRENT_DATE(R)CURRENT_TIME(R)














































CURRENT_TIMESTAMP(R)CURRENT_USER(R)CURSOR(R)














































CURSOR_NAMEDATADATABASE(R)














































DATABASES(R)DATAFILEDATE














































DATETIMEDAYDAY_HOUR(R)














































DAY_MICROSECOND(R)DAY_MINUTE(R)DAY_SECOND(R)














































DEALLOCATEDEC(R)DECIMAL(R)














































DECLARE(R)DEFAULT(R)DEFAULT_AUTH














































DEFINERDELAYED(R)DELAY_KEY_WRITE














































DELETE(R)DESC(R)DESCRIBE(R)














































DES_KEY_FILEDETERMINISTIC(R)DIAGNOSTICS














































DIRECTORYDISABLEDISCARD














































DISKDISTINCT(R)DISTINCTROW(R)














































DIV(R)DODOUBLE(R)














































DROP(R)DUAL(R)DUMPFILE














































DUPLICATEDYNAMICEACH(R)














































ELSE(R)ELSEIF(R)ENABLE














































ENCLOSED(R)ENCRYPTION[e]END














































ENDSENGINEENGINES














































ENUMERRORERRORS














































ESCAPEESCAPED(R)EVENT














































EVENTSEVERYEXCHANGE














































EXECUTEEXISTS(R)EXIT(R)














































EXPANSIONEXPIREEXPLAIN(R)














































EXPORTEXTENDEDEXTENT_SIZE














































FALSE(R)FASTFAULTS














































FETCH(R)FIELDSFILE














































FILE_BLOCK_SIZE[f]FILTER[g]FIRST














































FIXEDFLOAT(R)FLOAT4(R)














































FLOAT8(R)FLUSHFOLLOWS[h]














































FOR(R)FORCE(R)FOREIGN(R)














































FORMATFOUNDFROM(R)














































FULLFULLTEXT(R)FUNCTION














































GENERALGENERATED[i](R)GEOMETRY














































GEOMETRYCOLLECTIONGET(R)GET_FORMAT














































GLOBALGRANT(R)GRANTS














































GROUP(R)GROUP_REPLICATION[j]HANDLER














































HASHHAVING(R)HELP














































HIGH_PRIORITY(R)HOSTHOSTS














































HOURHOUR_MICROSECOND(R)HOUR_MINUTE(R)














































HOUR_SECOND(R)IDENTIFIEDIF(R)














































IGNORE(R)IGNORE_SERVER_IDSIMPORT














































IN(R)INDEX(R)INDEXES














































INFILE(R)INITIAL_SIZEINNER(R)














































INOUT(R)INSENSITIVE(R)INSERT(R)














































INSERT_METHODINSTALLINSTANCE[k]














































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_THREADIPC














































IS(R)ISOLATIONISSUER














































ITERATE(R)JOIN(R)JSON[l]














































KEY(R)KEYS(R)KEY_BLOCK_SIZE














































KILL(R)LANGUAGELAST














































LEADING(R)LEAVE(R)LEAVES














































LEFT(R)LESSLEVEL














































LIKE(R)LIMIT(R)LINEAR(R)














































LINES(R)LINESTRINGLIST














































LOAD(R)LOCALLOCALTIME(R)














































LOCALTIMESTAMP(R)LOCK(R)LOCKS














































LOGFILELOGSLONG(R)














































LONGBLOB(R)LONGTEXT(R)LOOP(R)














































LOW_PRIORITY(R)MASTERMASTER_AUTO_POSITION














































MASTER_BIND(R)MASTER_CONNECT_RETRYMASTER_DELAY














































MASTER_HEARTBEAT_PERIODMASTER_HOSTMASTER_LOG_FILE














































MASTER_LOG_POSMASTER_PASSWORDMASTER_PORT














































MASTER_RETRY_COUNTMASTER_SERVER_IDMASTER_SSL














































MASTER_SSL_CAMASTER_SSL_CAPATHMASTER_SSL_CERT














































MASTER_SSL_CIPHERMASTER_SSL_CRLMASTER_SSL_CRLPATH














































MASTER_SSL_KEYMASTER_SSL_VERIFY_SERVER_CERT(R)MASTER_TLS_VERSION[m]














































MASTER_USERMATCH(R)MAXVALUE(R)














































MAX_CONNECTIONS_PER_HOURMAX_QUERIES_PER_HOURMAX_ROWS














































MAX_SIZEMAX_STATEMENT_TIME[n]MAX_UPDATES_PER_HOUR














































MAX_USER_CONNECTIONSMEDIUMMEDIUMBLOB(R)














































MEDIUMINT(R)MEDIUMTEXT(R)MEMORY














































MERGEMESSAGE_TEXTMICROSECOND














































MIDDLEINT(R)MIGRATEMINUTE














































MINUTE_MICROSECOND(R)MINUTE_SECOND(R)MIN_ROWS














































MOD(R)MODEMODIFIES(R)














































MODIFYMONTHMULTILINESTRING














































MULTIPOINTMULTIPOLYGONMUTEX














































MYSQL_ERRNONAMENAMES














































NATIONALNATURAL(R)NCHAR














































NDBNDBCLUSTERNEVER[o]














































NEWNEXTNO














































NODEGROUPNONBLOCKING[p]NONE














































NOT(R)NO_WAITNO_WRITE_TO_BINLOG(R)














































NULL(R)NUMBERNUMERIC(R)














































NVARCHAROFFSETOLD_PASSWORD[q]














































ON(R)ONEONLY














































OPENOPTIMIZE(R)OPTIMIZER_COSTS[r](R)














































OPTION(R)OPTIONALLY(R)OPTIONS














































OR(R)ORDER(R)OUT(R)














































OUTER(R)OUTFILE(R)OWNER














































PACK_KEYSPAGEPARSER














































PARSE_GCOL_EXPR[s]PARTIALPARTITION(R)














































PARTITIONINGPARTITIONSPASSWORD














































PHASEPLUGINPLUGINS














































PLUGIN_DIRPOINTPOLYGON














































PORTPRECEDES[t]PRECISION(R)














































PREPAREPRESERVEPREV














































PRIMARY(R)PRIVILEGESPROCEDURE(R)














































PROCESSLISTPROFILEPROFILES














































PROXYPURGE(R)QUARTER














































QUERYQUICKRANGE(R)














































READ(R)READS(R)READ_ONLY














































READ_WRITE(R)REAL(R)REBUILD














































RECOVERREDOFILEREDO_BUFFER_SIZE














































REDUNDANTREFERENCES(R)REGEXP(R)














































RELAYRELAYLOGRELAY_LOG_FILE














































RELAY_LOG_POSRELAY_THREADRELEASE(R)














































RELOADREMOVERENAME(R)














































REORGANIZEREPAIRREPEAT(R)














































REPEATABLEREPLACE(R)REPLICATE_DO_DB[u]














































REPLICATE_DO_TABLE[v]REPLICATE_IGNORE_DB[w]REPLICATE_IGNORE_TABLE[x]














































REPLICATE_REWRITE_DB[y]REPLICATE_WILD_DO_TABLE[z]REPLICATE_WILD_IGNORE_TABLE[aa]














































REPLICATIONREQUIRE(R)RESET














































RESIGNAL(R)RESTORERESTRICT(R)














































RESUMERETURN(R)RETURNED_SQLSTATE














































RETURNSREVERSEREVOKE(R)














































RIGHT(R)RLIKE(R)ROLLBACK














































ROLLUPROTATE[ab]ROUTINE














































ROWROWSROW_COUNT














































ROW_FORMATRTREESAVEPOINT














































SCHEDULESCHEMA(R)SCHEMAS(R)














































SCHEMA_NAMESECONDSECOND_MICROSECOND(R)














































SECURITYSELECT(R)SENSITIVE(R)














































SEPARATOR(R)SERIALSERIALIZABLE














































SERVERSESSIONSET(R)














































SHARESHOW(R)SHUTDOWN














































SIGNAL(R)SIGNEDSIMPLE














































SLAVESLOWSMALLINT(R)














































SNAPSHOTSOCKETSOME














































SONAMESOUNDSSOURCE














































SPATIAL(R)SPECIFIC(R)SQL(R)














































SQLEXCEPTION(R)SQLSTATE(R)SQLWARNING(R)














































SQL_AFTER_GTIDSSQL_AFTER_MTS_GAPSSQL_BEFORE_GTIDS














































SQL_BIG_RESULT(R)SQL_BUFFER_RESULTSQL_CACHE














































SQL_CALC_FOUND_ROWS(R)SQL_NO_CACHESQL_SMALL_RESULT(R)














































SQL_THREADSQL_TSI_DAYSQL_TSI_HOUR














































SQL_TSI_MINUTESQL_TSI_MONTHSQL_TSI_QUARTER














































SQL_TSI_SECONDSQL_TSI_WEEKSQL_TSI_YEAR














































SSL(R)STACKEDSTART














































STARTING(R)STARTSSTATS_AUTO_RECALC














































STATS_PERSISTENTSTATS_SAMPLE_PAGESSTATUS














































STOPSTORAGESTORED[ac](R)














































STRAIGHT_JOIN(R)STRINGSUBCLASS_ORIGIN














































SUBJECTSUBPARTITIONSUBPARTITIONS














































SUPERSUSPENDSWAPS














































SWITCHESTABLE(R)TABLES














































TABLESPACETABLE_CHECKSUMTABLE_NAME














































TEMPORARYTEMPTABLETERMINATED(R)














































TEXTTHANTHEN(R)














































TIMETIMESTAMPTIMESTAMPADD














































TIMESTAMPDIFFTINYBLOB(R)TINYINT(R)














































TINYTEXT(R)TO(R)TRAILING(R)














































TRANSACTIONTRIGGER(R)TRIGGERS














































TRUE(R)TRUNCATETYPE














































TYPESUNCOMMITTEDUNDEFINED














































UNDO(R)UNDOFILEUNDO_BUFFER_SIZE














































UNICODEUNINSTALLUNION(R)














































UNIQUE(R)UNKNOWNUNLOCK(R)














































UNSIGNED(R)UNTILUPDATE(R)














































UPGRADEUSAGE(R)USE(R)














































USERUSER_RESOURCESUSE_FRM














































USING(R)UTC_DATE(R)UTC_TIME(R)














































UTC_TIMESTAMP(R)VALIDATION[ad]VALUE














































VALUES(R)VARBINARY(R)VARCHAR(R)














































VARCHARACTER(R)VARIABLESVARYING(R)














































VIEWVIRTUAL[ae](R)WAIT














































WARNINGSWEEKWEIGHT_STRING














































WHEN(R)WHERE(R)WHILE(R)














































WITH(R)WITHOUT[af]WORK














































WRAPPERWRITE(R)X509














































XAXID[ag]XML














































XOR(R)YEARYEAR_MONTH(R)














































ZEROFILL(R)














































[a]ACCOUNT: added in 5.7.6 (nonreserved)

[b]ALWAYS: added in 5.7.6 (nonreserved)

[c]CHANNEL: added in 5.7.6 (nonreserved)

[d]COMPRESSION: added in 5.7.8 (nonreserved)

[e]ENCRYPTION: added in 5.7.11 (nonreserved)

[f]FILE_BLOCK_SIZE: added in 5.7.6 (nonreserved)

[g]FILTER: added in 5.7.3 (nonreserved)

[h]FOLLOWS: added in 5.7.2 (nonreserved)

[i]GENERATED: added in 5.7.6 (reserved)

[j]GROUP_REPLICATION: added in 5.7.6 (nonreserved)

[k]INSTANCE: added in 5.7.11 (nonreserved)

[l]JSON: added in 5.7.8 (nonreserved)

[m]MASTER_TLS_VERSION: added in 5.7.10 (nonreserved)

[n]MAX_STATEMENT_TIME: added in 5.7.4 (nonreserved); removed in 5.7.8

[o]NEVER: added in 5.7.4 (nonreserved)

[p]NONBLOCKING: removed in 5.7.6

[q]OLD_PASSWORD: removed in 5.7.5

[r]OPTIMIZER_COSTS: added in 5.7.5 (reserved)

[s]PARSE_GCOL_EXPR: added in 5.7.6 (reserved); became nonreserved in 5.7.8

[t]PRECEDES: added in 5.7.2 (nonreserved)

[u]REPLICATE_DO_DB: added in 5.7.3 (nonreserved)

[v]REPLICATE_DO_TABLE: added in 5.7.3 (nonreserved)

[w]REPLICATE_IGNORE_DB: added in 5.7.3 (nonreserved)

[x]REPLICATE_IGNORE_TABLE: added in 5.7.3 (nonreserved)

[y]REPLICATE_REWRITE_DB: added in 5.7.3 (nonreserved)

[z]REPLICATE_WILD_DO_TABLE: added in 5.7.3 (nonreserved)

[aa]REPLICATE_WILD_IGNORE_TABLE: added in 5.7.3 (nonreserved)

[ab]ROTATE: added in 5.7.11 (nonreserved)

[ac]STORED: added in 5.7.6 (reserved)

[ad]VALIDATION: added in 5.7.5 (nonreserved)

[ae]VIRTUAL: added in 5.7.6 (reserved)

[af]WITHOUT: added in 5.7.5 (nonreserved)

[ag]XID: added in 5.7.5 (nonreserved)

Table10.3Keywords and Reserved Words Added in MySQL 5.7 Compared to MySQL 5.6

ACCOUNTALWAYSCHANNELCOMPRESSIONENCRYPTIONFILE_BLOCK_SIZEFILTERFOLLOWSGENERATED(R)GROUP_REPLICATIONINSTANCEJSONMASTER_TLS_VERSIONNEVEROPTIMIZER_COSTS(R)PARSE_GCOL_EXPRPRECEDESREPLICATE_DO_DBREPLICATE_DO_TABLEREPLICATE_IGNORE_DBREPLICATE_IGNORE_TABLEREPLICATE_REWRITE_DBREPLICATE_WILD_DO_TABLEREPLICATE_WILD_IGNORE_TABLEROTATESTACKEDSTORED(R)VALIDATIONVIRTUAL(R)WITHOUTXID

关于如何理解MySQL 5.7中的关键字和保留字问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。