11.3 Ключевые слова и зарезервированные слова
Ключевые слова — это слова, имеющие значение в SQL. Некоторые ключевые слова, такие как SELECT, DELETE или BIGINT, зарезервированы и требуют специального обращения при использовании в качестве идентификаторов, таких как имена таблиц и столбцов. Это может также относиться к именам встроенных функций.
Большинство незарезервированных ключевых слов допускаются в качестве идентификаторов без кавычек. Некоторые ключевые слова, которые в противном случае считаются незарезервированными, ограничены в использовании в качестве необрамленных идентификаторов для ролей, меток хранимых программ или в некоторых случаях — и для того, и для другого. См. MySQL 8.4 Ограниченные ключевые слова для списков этих ключевых слов.
Зарезервированные слова допускаются в качестве идентификаторов, если вы заключите их в кавычки, как описано в Разделе 11.2, «Имена объектов схемы»:
mysql> CREATE TABLE interval (begin INT, end INT);
ERROR 1064 (42000): You have an error in your SQL syntax ...
near 'interval (begin INT, end INT)'
BEGIN и END являются ключевыми словами, но не зарезервированными, поэтому их использование в качестве идентификаторов не требует кавычек. INTERVAL — зарезервированное ключевое слово и должно быть заключено в кавычки, чтобы использоваться как идентификатор:
mysql> CREATE TABLE `interval` (begin INT, end INT);
Query OK, 0 rows affected (0.01 sec)
Исключение: слово, следующее за точкой в квалифицированном имени, должно быть идентификатором, поэтому его не нужно заключать в кавычки, даже если оно является зарезервированным:
mysql> CREATE TABLE mydb.interval (begin INT, end INT);
Query OK, 0 rows affected (0.01 sec)
Имена встроенных функций допускаются в качестве идентификаторов, но при их использовании необходимо соблюдать осторожность. Например, COUNT приемлемо в качестве имени столбца. Однако по умолчанию пробелы не допускаются в вызовах функций между именем функции и последующим символом (. Это требование позволяет парсеру отличить, используется ли имя в вызове функции или в контексте, не связанном с функцией. Для получения дополнительной информации о распознавании имён функций см. Раздел 11.2.5, «Разбор и разрешение имен функций».
В таблице INFORMATION_SCHEMA.KEYWORDS перечислены слова, считающиеся ключевыми словами в MySQL, и указано, являются ли они зарезервированными. См. Раздел 28.3.17, «Таблица INFORMATION_SCHEMA KEYWORDS».
Ключевые слова и зарезервированные слова MySQL 8.4
В следующем списке показаны ключевые слова и зарезервированные слова в MySQL 8.4, а также изменения отдельных слов от версии к версии. Зарезервированные ключевые слова отмечены (R). Кроме того, _FILENAME является зарезервированным.
В какой-то момент вы можете обновиться до более высокой версии, поэтому неплохо будет взглянуть и на будущие зарезервированные слова. Вы можете найти их в руководствах, охватывающих более высокие версии MySQL. Большинство зарезервированных слов в списке запрещены стандартным SQL в качестве имен столбцов или таблиц (например, GROUP). Некоторые зарезервированы, потому что MySQL нуждается в них и использует парсер yacc.
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
A
ACCESSIBLE(R)ACCOUNTACTIONACTIVEADD(R)ADMINAFTERAGAINSTAGGREGATEALGORITHMALL(R)ALTER(R)ALWAYSANALYZE(R)AND(R)ANYARRAYAS(R)ASC(R)ASCIIASENSITIVE(R)ATATTRIBUTEAUTHENTICATIONAUTOAUTOEXTEND_SIZEAUTO_INCREMENTAVGAVG_ROW_LENGTH
B
BACKUPBEFORE(R)BEGINBERNOULLIBETWEEN(R)BIGINT(R)BINARY(R)BINLOGBITBLOB(R)BLOCKBOOLBOOLEANBOTH(R)BTREEBUCKETSBULKBY(R)BYTE
C
CACHECALL(R)CASCADE(R)CASCADEDCASE(R)CATALOG_NAMECHAINCHALLENGE_RESPONSECHANGE(R)CHANGEDCHANNELCHAR(R)CHARACTER(R)CHARSETCHECK(R)CHECKSUMCIPHERCLASS_ORIGINCLIENTCLONECLOSECOALESCECODECOLLATE(R)COLLATIONCOLUMN(R)COLUMNSCOLUMN_FORMATCOLUMN_NAMECOMMENTCOMMITCOMMITTEDCOMPACTCOMPLETIONCOMPONENTCOMPRESSEDCOMPRESSIONCONCURRENTCONDITION(R)CONNECTIONCONSISTENTCONSTRAINT(R)CONSTRAINT_CATALOGCONSTRAINT_NAMECONSTRAINT_SCHEMACONTAINSCONTEXTCONTINUE(R)CONVERT(R)CPUCREATE(R)CROSS(R)CUBE(R)CUME_DIST(R)CURRENTCURRENT_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_AUTHDEFINERDEFINITIONDELAYED(R)DELAY_KEY_WRITEDELETE(R)DENSE_RANK(R)DESC(R)DESCRIBE(R)DESCRIPTIONDETERMINISTIC(R)DIAGNOSTICSDIRECTORYDISABLEDISCARDDISKDISTINCT(R)DISTINCTROW(R)DIV(R)DODOUBLE(R)DROP(R)DUAL(R)DUMPFILEDUPLICATEDYNAMIC
Е
EACH(R)ELSE(R)ELSEIF(R)EMPTY(R)ENABLEENCLOSED(R)ENCRYPTIONENDENDSENFORCEDENGINEENGINESENGINE_ATTRIBUTEENUMERRORERRORSESCAPEESCAPED(R)EVENTEVENTSEVERYEXCEPT(R)EXCHANGEEXCLUDEEXECUTEEXISTS(R)EXIT(R)EXPANSIONEXPIREEXPLAIN(R)EXPORTEXTENDEDEXTENT_SIZE
Ф
FACTORFAILED_LOGIN_ATTEMPTSFALSE(R)FASTFAULTSFETCH(R)FIELDSFILEFILE_BLOCK_SIZEFILTERFINISHFIRSTFIRST_VALUE(R)FIXEDFLOAT(R)FLOAT4(R)FLOAT8(R)FLUSHFOLLOWINGFOLLOWSFOR(R)FORCE(R)FOREIGN(R)FORMATFOUNDFROM(R)FULLFULLTEXT(R)FUNCTION(R)
Г
GENERALGENERATEGENERATED(R)GEOMCOLLECTIONGEOMETRYGEOMETRYCOLLECTIONGET(R)GET_FORMATGET_SOURCE_PUBLIC_KEYGLOBALGRANT(R)GRANTSGROUP(R)GROUPING(R)GROUPS(R)GROUP_REPLICATIONGTIDSGTID_ONLY
Х
HANDLERHASHHAVING(R)HELPHIGH_PRIORITY(R)HISTOGRAMHISTORYHOSTHOSTSHOURHOUR_MICROSECOND(R)HOUR_MINUTE(R)HOUR_SECOND(R)
И
IDENTIFIEDIF(R)IGNORE(R)IGNORE_SERVER_IDSIMPORTIN(R)INACTIVEINDEX(R)INDEXESINFILE(R)INITIALINITIAL_SIZEINITIATEINNER(R)INOUT(R)INSENSITIVE(R)INSERT(R)INSERT_METHODINSTALLINSTANCEINT(R)INT1(R)INT2(R)INT3(R)INT4(R)INT8(R)INTEGER(R)INTERSECT(R)INTERVAL(R)INTO(R)INVISIBLEINVOKERIOIO_AFTER_GTIDS(R)IO_BEFORE_GTIDS(R)IO_THREADIPCIS(R)ISOLATIONISSUERITERATE(R)
Й
JOIN(R)JSONJSON_TABLE(R)JSON_VALUE
К
KEY(R)KEYRINGKEYS(R)KEY_BLOCK_SIZEKILL(R)
Л
LAG(R)LANGUAGELASTLAST_VALUE(R)LATERAL(R)LEAD(R)LEADING(R)LEAVE(R)LEAVESLEFT(R)LESSLEVELLIKE(R)LIMIT(R)LINEAR(R)LINES(R)LINESTRINGLISTLOAD(R)LOCALLOCALTIME(R)LOCALTIMESTAMP(R)LOCK(R)LOCKEDLOCKSLOGLOGFILELOGSLONG(R)LONGBLOB(R)LONGTEXT(R)LOOP(R)LOW_PRIORITY(R)
М
MANUAL(R)MASTERMATCH(R)MAXVALUE(R)MAX_CONNECTIONS_PER_HOURMAX_QUERIES_PER_HOURMAX_ROWSMAX_SIZEMAX_UPDATES_PER_HOURMAX_USER_CONNECTIONSMEDIUMMEDIUMBLOB(R)MEDIUMINT(R)MEDIUMTEXT(R)MEMBERMEMORYMERGEMESSAGE_TEXTMICROSECONDMIDDLEINT(R)MIGRATEMINUTEMINUTE_MICROSECOND(R)MINUTE_SECOND(R)MIN_ROWSMOD(R)MODEMODIFIES(R)MODIFYMONTHMULTILINESTRINGMULTIPOINTMULTIPOLYGONMUTEXMYSQL_ERRNO
Н
NAMENAMESNATIONALNATURAL(R)NCHARNDBNDBCLUSTERNESTEDNETWORK_NAMESPACENEVERNEWNEXTNONODEGROUPNONENOT(R)NOWAITNO_WAITNO_WRITE_TO_BINLOG(R)NTH_VALUE(R)NTILE(R)NULL(R)NULLSNUMBERNUMERIC(R)NVARCHAR
О
OF(R)OFFOFFSETOJOLDON(R)ONEONLYOPENOPTIMIZE(R)OPTIMIZER_COSTS(R)OPTION(R)OPTIONALOPTIONALLY(R)OPTIONSOR(R)ORDER(R)ORDINALITYORGANIZATIONOTHERSOUT(R)OUTER(R)OUTFILE(R)OVER(R)OWNER
П
PACK_KEYSPAGEPARALLEL(R)PARSERPARSE_TREEPARTIALPARTITION(R)PARTITIONINGPARTITIONSPASSWORDPASSWORD_LOCK_TIMEPATHPERCENT_RANK(R)PERSISTPERSIST_ONLYPHASEPLUGINPLUGINSPLUGIN_DIRPOINTPOLYGONPORTPRECEDESPRECEDINGPRECISION(R)PREPAREPRESERVEPREVPRIMARY(R)PRIVILEGESPRIVILEGE_CHECKS_USERPROCEDURE(R)PROCESSPROCESSLISTPROFILEPROFILESPROXYPURGE(R)
Q
QUALIFY(R)QUARTERQUERYQUICK
Р
RANDOMRANGE(R)RANK(R)READ(R)READS(R)READ_ONLYREAD_WRITE(R)REAL(R)REBUILDRECOVERRECURSIVE(R)REDO_BUFFER_SIZEREDUNDANTREFERENCEREFERENCES(R)REGEXP(R)REGISTRATIONRELAYRELAYLOGRELAY_LOG_FILERELAY_LOG_POSRELAY_THREADRELEASE(R)RELOADREMOVERENAME(R)REORGANIZEREPAIRREPEAT(R)REPEATABLEREPLACE(R)REPLICAREPLICASREPLICATE_DO_DBREPLICATE_DO_TABLEREPLICATE_IGNORE_DBREPLICATE_IGNORE_TABLEREPLICATE_REWRITE_DBREPLICATE_WILD_DO_TABLEREPLICATE_WILD_IGNORE_TABLEREPLICATIONREQUIRE(R)REQUIRE_ROW_FORMATRESETRESIGNAL(R)RESOURCERESPECTRESTARTRESTORERESTRICT(R)RESUMERETAINRETURN(R)RETURNED_SQLSTATERETURNINGRETURNSREUSEREVERSEREVOKE(R)RIGHT(R)RLIKE(R)ROLEROLLBACKROLLUPROTATEROUTINEROW(R)ROWS(R)ROW_COUNTROW_FORMATROW_NUMBER(R)RTREE
S
S3SAVEPOINTSCHEDULESCHEMA(R)SCHEMAS(R)SCHEMA_NAMESECONDSECONDARYSECONDARY_ENGINESECONDARY_ENGINE_ATTRIBUTESECONDARY_LOADSECONDARY_UNLOADSECOND_MICROSECOND(R)SECURITYSELECT(R)SENSITIVE(R)SEPARATOR(R)SERIALSERIALIZABLESERVERSESSIONSET(R)SHARESHOW(R)SHUTDOWNSIGNAL(R)SIGNEDSIMPLESKIPSLAVESLOWSMALLINT(R)SNAPSHOTSOCKETSOMESONAMESOUNDSSOURCESOURCE_AUTO_POSITIONSOURCE_BINDSOURCE_COMPRESSION_ALGORITHMSSOURCE_CONNECT_RETRYSOURCE_DELAYSOURCE_HEARTBEAT_PERIODSOURCE_HOSTSOURCE_LOG_FILESOURCE_LOG_POSSOURCE_PASSWORDSOURCE_PORTSOURCE_PUBLIC_KEY_PATHSOURCE_RETRY_COUNTSOURCE_SSLSOURCE_SSL_CASOURCE_SSL_CAPATHSOURCE_SSL_CERTSOURCE_SSL_CIPHERSOURCE_SSL_CRLSOURCE_SSL_CRLPATHSOURCE_SSL_KEYSOURCE_SSL_VERIFY_SERVER_CERTSOURCE_TLS_CIPHERSUITESSOURCE_TLS_VERSIONSOURCE_USERSOURCE_ZSTD_COMPRESSION_LEVELSPATIAL(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_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_YEARSRIDSSL(R)STACKEDSTARTSTARTING(R)STARTSSTATS_AUTO_RECALCSTATS_PERSISTENTSTATS_SAMPLE_PAGESSTATUSSTOPSTORAGESTORED(R)STRAIGHT_JOIN(R)STREAMSTRINGSUBCLASS_ORIGINSUBJECTSUBPARTITIONSUBPARTITIONSSUPERSUSPENDSWAPSSWITCHESSYSTEM(R)
T
TABLE(R)TABLESTABLESAMPLE(R)TABLESPACETABLE_CHECKSUMTABLE_NAMETEMPORARYTEMPTABLETERMINATED(R)TEXTTHANTHEN(R)THREAD_PRIORITYTIESTIMETIMESTAMPTIMESTAMPADDTIMESTAMPDIFFTINYBLOB(R)TINYINT(R)TINYTEXT(R)TLSTO(R)TRAILING(R)TRANSACTIONTRIGGER(R)TRIGGERSTRUE(R)TRUNCATETYPETYPES
U
UNBOUNDEDUNCOMMITTEDUNDEFINEDUNDO(R)UNDOFILEUNDO_BUFFER_SIZEUNICODEUNINSTALLUNION(R)UNIQUE(R)UNKNOWNUNLOCK(R)UNREGISTERUNSIGNED(R)UNTILUPDATE(R)UPGRADEURLUSAGE(R)USE(R)USERUSER_RESOURCESUSE_FRMUSING(R)UTC_DATE(R)UTC_TIME(R)UTC_TIMESTAMP(R)
V
VALIDATIONVALUEVALUES(R)VARBINARY(R)VARCHAR(R)VARCHARACTER(R)VARIABLESVARYING(R)VCPUVIEWVIRTUAL(R)VISIBLE
W
WAITWARNINGSWEEKWEIGHT_STRINGWHEN(R)WHERE(R)WHILE(R)WINDOW(R)WITH(R)WITHOUTWORKWRAPPERWRITE(R)
X
X509XAXIDXMLXOR(R)
Y
YEARYEAR_MONTH(R)
Z
ZEROFILL(R)ZONE
Ключевые слова и зарезервированные слова MySQL 8.4
В этом списке представлены ключевые слова и зарезервированные слова, добавленные в MySQL 8.4 по сравнению с MySQL 8.0. Зарезервированные слова помечены (R).
A | B | G | L | M | P | Q | S | T
A
AUTO
B
BERNOULLI
G
GTIDS
L
LOG
M
MANUAL(R)
P
PARALLEL(R)PARSE_TREE
Q
QUALIFY(R)
S
S3
T
TABLESAMPLE(R)
Удаленные ключевые слова и зарезервированные слова MySQL 8.4
В этом списке представлены ключевые слова и зарезервированные слова, удаленные в MySQL 8.4 по сравнению с MySQL 8.0. Зарезервированные слова помечены (R).
G
GET_MASTER_PUBLIC_KEY
M
MASTER_AUTO_POSITIONMASTER_BIND(R)MASTER_COMPRESSION_ALGORITHMSMASTER_CONNECT_RETRYMASTER_DELAYMASTER_HEARTBEAT_PERIODMASTER_HOSTMASTER_LOG_FILEMASTER_LOG_POSMASTER_PASSWORDMASTER_PORTMASTER_PUBLIC_KEY_PATHMASTER_RETRY_COUNTMASTER_SSLMASTER_SSL_CAMASTER_SSL_CAPATHMASTER_SSL_CERTMASTER_SSL_CIPHERMASTER_SSL_CRLMASTER_SSL_CRLPATHMASTER_SSL_KEYMASTER_SSL_VERIFY_SERVER_CERT(R)MASTER_TLS_CIPHERSUITESMASTER_TLS_VERSIONMASTER_USERMASTER_ZSTD_COMPRESSION_LEVEL
Зарезервированные ключевые слова MySQL 8.4
Некоторые ключевые слова MySQL не являются зарезервированными, но даже в таких случаях их необходимо заключать в кавычки в определенных обстоятельствах. В этом разделе приведены списки этих ключевых слов.
Ключевые слова, которые должны быть заключены в кавычки при использовании в качестве меток
Ключевые слова, перечисленные здесь, должны быть заключены в кавычки при использовании в качестве меток в хранимых программах MySQL:
A | B | C | D | E | F | H | I | L | N | P | R | S | T | U | X
A
ASCII
B
BEGINBYTE
C
CACHECHARSETCHECKSUMCLONECOMMENTCOMMITCONTAINS
D
DEALLOCATEDO
E
END
F
FLUSHFOLLOWS
H
HANDLERHELP
I
IMPORTINSTALL
L
LANGUAGE
N
NO
P
PRECEDESPREPARE
R
REPAIRRESETROLLBACK
S
SAVEPOINTSIGNEDSLAVESTARTSTOP
T
TRUNCATE
U
UNICODEUNINSTALL
X
XA
Ключевые слова, которые должны быть заключены в кавычки при использовании в качестве имен ролей
Ключевые слова, перечисленные здесь, должны быть заключены в кавычки при использовании в качестве имен ролей:
EVENTFILENONEPROCESSPROXYRELOADREPLICATIONRESOURCESUPER
Ключевые слова, которые должны быть заключены в кавычки при использовании в качестве меток или имен ролей
Ключевые слова, перечисленные здесь, должны быть заключены в кавычки при использовании в качестве меток в хранимых программах или в качестве имен ролей:
EXECUTERESTARTSHUTDOWN
© 2025 Oracle
Licensed under the GPLv2 License.