Watch the 7.3 Webinar On-Demand
This new release brings updates to Universal Storage, query optimization, and usability that you won’t want to miss.

Restricted Keywords

Keywords are words that have a specific meaning in SQL, such as SELECT, ARRAY, etc. Keywords that are restricted (or reserved) require special treatment if they need to be used as an identifier such as a table or column name. This is because their specific meaning could cause issues when used in the context of such a name.

Escaping Restricted Keywords

Escaping a restricted keyword that has been used as an identifier will allow the object associated with the identifier to be queried as usual.

One way to do this is to ensure the identifier involving a restricted keyword follows a period, because words following periods are always considered as identifiers in MySQL. For example, a query that refers to a table as database_name.begin would run successfully, but a query referring to the table as begin would return an error due to begin being a restricted keyword.

Another method for escaping these keywords is wrapping them in backticks. For example, begin could also be escaped as follows: ’begin’.

List of Restricted Keywords

A

ABORT ABS ABSOLUTE ACCESS ACCOUNT ACOS ACTION ADD ADDDATE ADDTIME ADMIN AES_DECRYPT AES_ENCRYPT AFTER AGAINST AGGREGATE AGGREGATES AGGREGATOR AGGREGATOR_ID AGGREGATOR_PLAN_HASH AGGREGATORS ALGORITHM ALL ALSO ALTER ALWAYS ANALYSE ANALYZE AND ANTI_JOIN ANY ANY_VALUE APPROX_COUNT_DISTINCT APPROX_COUNT_DISTINCT_ACCUMULATE APPROX_COUNT_DISTINCT_COMBINE APPROX_COUNT_DISTINCT_ESTIMATE APPROX_GEOGRAPHY_INTERSECTS APPROX_PERCENTILE ARGHISTORY ARRANGE ARRANGEMENT ARRAY AS ASC ASCII ASENSITIVE ASIN ASM ASSERTION ASSIGNMENT AST ASYMMETRIC ASYNC AT ATAN ATAN2 ATTACH ATTRIBUTE AUTHORIZATION AUTO AUTO_INCREMENT AUTO_REPROVISION AUTOSTATS AUTOSTATS_CARDINALITY_MODE AUTOSTATS_ENABLED AUTOSTATS_HISTOGRAM_MODE AUTOSTATS_SAMPLING AVAILABILITY AVG AVG_ROW_LENGTH AVRO AZURE

B

BACKGROUND _BACKGROUND_THREADS_FOR_CLEANUP BACKUP BACKUP_HISTORY BACKUP_ID BACKWARD BATCH BATCHES BATCH_INTERVAL _BATCH_SIZE_LIMIT BEFORE BEGIN BETWEEN BIGINT BIN BINARY _BINARY BIT BIT_AND BIT_COUNT BIT_OR BIT_XOR BLOB BOOL BOOLEAN BOOTSTRAP BOTH _BT BTREE BUCKET_COUNT BY BYTE BYTE_LENGTH

C

CACHE CALL CALL_FOR_PIPELINE CALLED CAPTURE CASCADE CASCADED CASE CAST CATALOG CEIL CEILING CHAIN CHANGE CHAR CHARACTER CHARACTERISTICS CHARACTER_LENGTH CHAR_LENGTH CHARSET CHECK CHECKPOINT _CHECK_CAN_CONNECT _CHECK_CONSISTENCY CHECKSUM _CHECKSUM CLASS CLEAR CLIENT CLIENT_FOUND_ROWS CLOSE CLUSTER CLUSTERED CNF COALESCE COERCIBILITY COLLATE COLLATION COLLECT COLUMN COLUMNAR COLUMNS COLUMNSTORE COLUMNSTORE_SEGMENT_ROWS COMMENT COMMENTS COMMIT COMMITTED _COMMIT_LOG_TAIL COMMITTED COMPACT COMPILE COMPRESSED COMPRESSION CONCAT CONCAT_WS CONCURRENT CONCURRENTLY CONDITION CONFIGURATION CONNECTION CONNECTION_ID CONNECTIONS CONFIG CONSTRAINT CONSTRAINTS CONTENT CONTINUE _CONTINUE_REPLAY CONV CONVERSION CONVERT CONVERT_TZ COPY _CORE COS COST COT COUNT CREATE CREDENTIALS CROSS CUBE CSV CUME_DIST CURDATE CURRENT CURRENT_CATALOG CURRENT_DATE CURRENT_ROLE CURRENT_SCHEMA CURRENT_SECURITY_GROUPS CURRENT_SECURITY_ROLES CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURSOR CURTIME CYCLE

D

DATA DATABASE DATABASES DATE DATE_ADD DATEDIFF DATE_FORMAT DATE_SUB DATE_TRUNC DATETIME DAY DAY_HOUR DAY_MICROSECOND DAY_MINUTE DAYNAME DAYOFMONTH DAYOFWEEK DAYOFYEAR DAY_SECOND DEALLOCATE DEC DECIMAL DECLARE DECODE DEFAULT DEFAULTS DEFERRABLE DEFERRED DEFINED DEFINER DEGREES DELAYED DELAY_KEY_WRITE DELETE DELIMITER DELIMITERS DENSE_RANK DESC DESCRIBE DETACH DETERMINISTIC DICTIONARY DIFFERENTIAL DIRECTORY DISABLE DISCARD _DISCONNECT DISK DISTINCT DISTINCTROW DISTRIBUTED_JOINS DIV DO DOCUMENT DOMAIN DOT_PRODUCT DOUBLE DROP _DROP_PROFILE DUAL DUMP DUPLICATE DYNAMIC

E

EARLIEST EACH ECHO ELECTION ELSE ELSEIF ELT ENABLE ENCLOSED ENCODING ENCRYPTED END ENGINE ENGINES ENUM ERRORS ESCAPE ESCAPED ESTIMATE EUCLIDEAN_DISTANCE EVENT EVENTS EXCEPT EXCLUDE EXCLUDING EXCLUSIVE EXECUTE EXISTS EXIT EXP EXPLAIN EXTENDED EXTENSION EXTERNAL EXTERNAL_HOST EXTERNAL_PORT EXTRACT EXTRACTOR EXTRACTORS EXTRA_JOIN

F

_FAILOVER FAILED_LOGIN_ATTEMPTS FAILURE FALSE FAMILY FAULT FETCH FIELD FIELDS FILE FILES FILL FIRST FIRST_VALUE FIX_ALTER FIXED FLOAT FLOAT4 FLOAT8 FLOOR FLUSH FOLLOWING FOR FORCE FORCE_COMPILED_MODE FORCE_INTERPRETER_MODE FOREGROUND FOREIGN FORMAT FORWARD FOUND_ROWS FREEZE FROM FROM_BASE64 FROM_DAYS FROM_UNIXTIME FS _FSYNC FULL FULLTEXT FUNCTION FUNCTIONS

G

GC GCS GET_FORMAT _GC _GCX GENERATE GEOGRAPHY GEOGRAPHY_AREA GEOGRAPHY_CONTAINS GEOGRAPHY_DISTANCE GEOGRAPHY_INTERSECTS GEOGRAPHY_LATITUDE GEOGRAPHY_LENGTH GEOGRAPHY_LONGITUDE GEOGRAPHYPOINT GEOGRAPHY_POINT GEOGRAPHY_WITHIN_DISTANCE GEOMETRY GEOMETRY_AREA GEOMETRY_CONTAINS GEOMETRY_DISTANCE GEOMETRY_FILTER GEOMETRY_INTERSECTS GEOMETRY_LENGTH GEOMETRYPOINT GEOMETRY_POINT GEOMETRY_WITHIN_DISTANCE GEOMETRY_X GEOMETRY_Y GLOBAL _GLOBAL_VERSION_TIMESTAMP GRANT GRANTED GRANTS GREATEST GROUP GROUPING GROUPS GROUP_CONCAT GZIP

H

HANDLE HANDLER HARD_CPU_LIMIT_PERCENTAGE HASH HAS_TEMP_TABLES HAVING HDFS HEADER HEARTBEAT_NO_LOGGING HEX HIGHLIGHT HIGH_PRIORITY HOLD HOLDING HOST HOSTS HOUR HOUR_MICROSECOND HOUR_MINUTE HOUR_SECOND

I

IDENTIFIED IDENTITY IF IFNULL IGNORE ILIKE IMMEDIATE IMMUTABLE IMPLICIT IMPORT IN INCLUDING INCREMENT INCREMENTAL INDEX INDEXES INET_ATON INET_NTOA INET6_ATON INET6_NTOA INFILE INHERIT INHERITS _INIT_PROFILE INIT INITCAP INITIALIZE INITIALLY INJECT INLINE INNER INOUT INPUT INSENSITIVE INSERT INSERT_METHOD INSTANCE INSTEAD INSTR INT INT1 INT2 INT3 INT4 INT8 INTEGER _INTERNAL_DYNAMIC_TYPECAST INTERPRETER_MODE INTERSECT INTERVAL INTO INVOKER IS ISNULL ISOLATION ITERATE

J

JOIN JSON JSON_AGG JSON_ARRAY_CONTAINS_DOUBLE JSON_ARRAY_CONTAINS_JSON JSON_ARRAY_CONTAINS_STRING JSON_ARRAY_PUSH_DOUBLE JSON_ARRAY_PUSH_JSON JSON_ARRAY_PUSH_STRING JSON_DELETE_KEY JSON_EXTRACT_DOUBLE JSON_EXTRACT_JSON JSON_EXTRACT_STRING JSON_EXTRACT_BIGINT JSON_GET_TYPE JSON_LENGTH JSON_SET_DOUBLE JSON_SET_JSON JSON_SET_STRING JSON_SPLICE_DOUBLE JSON_SPLICE_JSON JSON_SPLICE_STRING

K

KAFKA KEY KEY_BLOCK_SIZE KEYS KILL KILLALL

L

LABEL LAG LANGUAGE LARGE LAST LAST_DAY LAST_INSERT_ID LAST_VALUE LATERAL LATEST LC_COLLATE LC_CTYPE LCASE LEAD LEADING LEAF LEAKPROOF LEAST LEAVE LEAVES LEFT LENGTH LEVEL LICENSE LIKE LIMIT LINES LISTEN LLVM LN LOAD LOADDATA_WHERE _LOAD LOCAL LOCALTIME LOCALTIMESTAMP LOCATE LOCATION LOCK LOG LOG10 LOG2 LONG LONGBLOB LONGTEXT LOOP LOWER LOW_PRIORITY LPAD _LS LTRIM LZ4

M

MANAGEMENT _MANAGEMENT_THREAD MAPPING MASTER MATCH MATERIALIZED MAX MAXVALUE MAX_CONCURRENCY MAX_ERRORS MAX_PARTITIONS_PER_BATCH MAX_QUEUE_DEPTH MAX_RETRIES_PER_BATCH_PARTITION MAX_ROWS MBC MD5 MPL MEDIAN MEDIUMBLOB MEDIUMINT MEDIUMTEXT MEMBER MEMORY MEMORY_PERCENTAGE _MEMSQL_TABLE_ID_LOOKUP MEMSQL MEMSQL_DESERIALIZE MEMSQL_IMITATING_KAFKA MEMSQL_SERIALIZE MERGE METADATA MICROSECOND MIDDLEINT MIN MIN_ROWS MINUS MINUTE MINUTE_MICROSECOND MINUTE_SECOND MINVALUE MOD MODE MODEL MODIFIES MODIFY MONTH MONTHNAME MONTHS_BETWEEN MOVE MPL

N

NAMES NAMED NAMESPACE NATIONAL NATURAL NCHAR NEXT NO NODE NONE NO_QUERY_REWRITE NOPARAM NOT NOTHING NOTIFY NOW NOWAIT NO_WRITE_TO_BINLOG NO_QUERY_REWRITE NORELY NTH_VALUE NTILE NULL NULLCOLS NULLIF NULLS NUMERIC NVARCHAR

O

OBJECT OCTET_LENGTH OF OFF OFFLINE OFFSET OFFSETS OIDS ON ONLINE ONLY OPEN OPERATOR OPTIMIZATION OPTIMIZE OPTIMIZER OPTIMIZER_STATE OPTION OPTIONS OPTIONALLY OR ORDER ORDERED_SERIALIZE ORPHAN OUT OUT_OF_ORDER OUTER OUTFILE OVER OVERLAPS OVERLAY OWNED OWNER

P

PACK_KEYS PAIRED PARSER PARQUET PARTIAL PARTITION PARTITION_ID PARTITIONING PARTITIONS PASSING PASSWORD PASSWORD_LOCK_TIME PARSER PAUSE _PAUSE_REPLAY PERCENT_RANK PERCENTILE_CONT PERCENTILE_DISC PERIODIC PERSISTED PI PIPELINE PIPELINES PIVOT PLACING PLAN PLANS PLANCACHE PLUGINS POOL POOLS PORT POSITION POW POWER PRECEDING PRECISION PREPARE PREPARED PRESERVE PRIMARY PRIOR PRIVILEGES PROCEDURAL PROCEDURE PROCEDURES PROCESS PROCESSLIST PROFILE PROFILES PROGRAM PROMOTE PROXY PURGE

Q

QUARTER QUERIES QUERY QUERY_TIMEOUT QUEUE QUOTE

R

RADIANS RAND RANGE RANK READ _READ READS REAL REASSIGN REBALANCE RECHECK RECORD RECURSIVE REDUNDANCY REDUNDANT REF REFERENCE REFERENCES REFRESH REGEXP REINDEX RELATIVE RELEASE RELOAD RELY REMOTE REMOVE RENAME REPAIR _REPAIR_TABLE REPEAT REPEATABLE _REPL _REPROVISIONING REPLACE REPLICA REPLICATE REPLICATING REPLICATION DURABILITY REQUIRE RESOURCE RESOURCE_POOL RESET RESTART RESTORE RESTRICT RESULT _RESURRECT RETRY RETURN RETURNING RETURNS REVERSE REVOKE RG_POOL RIGHT RIGHT_ANTI_JOIN RIGHT_SEMI_JOIN RIGHT_STRAIGHT_JOIN RLIKE ROLE ROLES ROLLBACK ROLLUP ROUND ROUTINE ROW ROW_COUNT ROW_FORMAT ROW_NUMBER ROWS ROWSTORE RULE RPAD _RPC RTRIM RUNNING

S

S3 SAFE SAVE SAVEPOINT SCALAR SCHEMA SCHEMAS SCHEMA_BINDING SCROLL SEARCH SECOND SECOND_MICROSECOND SEC_TO_TIME SECURITY SELECT SEMI_JOIN _SEND_THREADS SENSITIVE SEPARATOR SEQUENCE SEQUENCES SERIAL SERIALIZABLE SERIES SERVICE_USER SERVER SESSION SESSION_USER SET SETOF SECURITY_LISTS_INTERSECT SHA SHA1 SHA2 SHARD SHARDED SHARDED_ID SHARE SHOW SHUTDOWN SIGMOID SIGN SIGNAL SIMILAR SIMPLE SITE SIGNED SIN SKIP SKIPPED_BATCHES SLAVE _SLAVES SLEEP _SLEEP SMALLINT SNAPSHOT _SNAPSHOT _SNAPSHOTS SOFT_CPU_LIMIT_PERCENTAGE SOME SONAME SPARSE SPATIAL SPATIAL_CHECK_INDEX SPECIFIC SPLIT SQL SQL_BIG_RESULT SQL_BUFFER_RESULT SQL_CACHE SQL_CALC_FOUND_ROWS SQLEXCEPTION SQL_MODE SQL_NO_CACHE SQL_NO_LOGGING SQL_SMALL_RESULT SQLSTATE SQLWARNING SQRT SSL STABLE STANDALONE START STARTING STATE STATEMENT STATISTICS STATS STATUS STD STDDEV STDDEV_POP STDDEV_SAMP STDIN STDOUT STOP STORAGE STR_TO_DATE STRAIGHT_JOIN STRICT STRING STRIP SUBDATE SUBSTR SUBSTRING SUBSTRING_INDEX SUCCESS SUM SUPER SYMMETRIC SYNC_SNAPSHOT SYNC _SYNC _SYNC2 _SYNC_PARTITIONS _SYNC_SNAPSHOT SYNCHRONIZE SYSID SYSTEM

T

TABLE TABLE_CHECKSUM TABLES TABLESPACE TAGS TAN TARGET_SIZE TASK TEMP TEMPLATE TEMPORARY TEMPTABLE _TERM_BUMP TERMINATE TERMINATED TEST TEXT THEN TIME TIMEDIFF TIME_BUCKET TIME_FORMAT TIMEOUT TIMESTAMP TIMESTAMPADD TIMESTAMPDIFF TIMEZONE TIME_TO_SEC TINYBLOB TINYINT TINYTEXT TO TO_BASE64 TO_CHAR TO_DATE TO_DAYS TO_JSON TO_NUMBER TO_SECONDS TO_TIMESTAMP TRACELOGS TRADITIONAL TRAILING TRANSFORM TRANSACTION _TRANSACTIONS_EXPERIMENTAL TREAT TRIGGER TRIGGERS TRIM TRUE TRUNC TRUNCATE TRUSTED TWO_PHASE _TWOPCID TYPE TYPES

U

UCASE UNBOUNDED UNCOMMITTED UNDEFINED UNDO UNENCRYPTED UNENFORCED UNHEX UNHOLD UNICODE UNION UNIQUE _UNITTEST UNIX_TIMESTAMP UNKNOWN UNLISTEN _UNLOAD UNLOCK UNLOGGED UNPIVOT UNSIGNED UNTIL UPDATE UPGRADE UPPER USAGE USE USER USERS USING UTC_DATE UTC_TIME UTC_TIMESTAMP _UTF8

V

VACUUM VALID VALIDATE VALIDATOR VALUE VALUES VARBINARY VARCHAR VARCHARACTER VARIABLES VARIADIC VARIANCE VAR_POP VAR_SAMP VARYING VECTOR_SUB VERBOSE VERSION VIEW VOID VOLATILE VOTING

W

WAIT _WAKE WARNINGS WEEK WEEKDAY WEEKOFYEAR WHEN WHERE WHILE WHITESPACE WINDOW WITH WITHOUT WITHIN _WM_HEARTBEAT WORK WORKLOAD WRAPPER WRITE

X

XACT_ID XOR

Y

YEAR YEAR_MONTH YES

Z

ZEROFILL ZONE