关键字
本章介绍 MatrixOne 的关键字,在 MatrixOne 中对保留关键字和非保留关键字进行了分类,你在使用 SQL 语句时,可以查阅保留关键字和非保留关键字。
关键字是 SQL 语句中具有特殊含义的单词,例如 SELECT,UPDATE,DELETE 等等。
- 保留关键字:关键字中需要经过特殊处理才能作为标识符的字,被称为保留关键字。
 
将保留关键字作为标识符使用时,必须使用反引号包裹,否则将产生报错:
\\未将保留关键字 select 使用反引号包裹,产生报错
mysql> CREATE TABLE select (a INT);
ERROR 1064 (HY000): SQL parser error: You have an error in your SQL syntax; check the manual that corresponds to your MatrixOne server version for the right syntax to use. syntax error at line 1 column 19 near " select (a INT)";
\\正确将保留关键字 select 使用反引号包裹
mysql> CREATE TABLE `select` (a INT);
Query OK, 0 rows affected (0.02 sec)
- 非保留关键字:关键字中可以直接作为标识符,被称为非保留关键字。
 
将非保留关键字作为标识符使用时,可以直接使用,无需使用反引号包裹。
\\BEGIN 未非保留关键字,可以无需使用反引号包裹
mysql> CREATE TABLE `select` (BEGIN int);
Query OK, 0 rows affected (0.01 sec)
Note
与 MySQL 不同,在 MatrixOne 中,如果使用了限定符.,保留关键字如果不使用反引号包裹也会产生报错,建议在创建表和数据库时,避免使用保留关键字:
mysql> CREATE TABLE test.select (BEGIN int);
ERROR 1064 (HY000): SQL parser error: You have an error in your SQL syntax; check the manual that corresponds to your MatrixOne server version for the right syntax to use. syntax error at line 1 column 24 near "select (BEGIN int)";
保留关键字
A
- ACCESSIBLE
 - ADD
 - ALL
 - ALTER
 - ANALYZE
 - AND
 - AS
 - ASC
 - ASENSITIVE
 
B
- BEFORE
 - BEGIN
 - BETWEEN
 - BIGINT
 - BINARY
 - BLOB
 - BOTH
 - BY
 
C
- CALL
 - CASCADE
 - CASE
 - CHANGE
 - CHAR
 - CHARACTER
 - CHECK
 - COLLATE
 - COLUMN
 - CONDITION
 - CONFIG
 - CONSTRAINT
 - CONTINUE
 - CONVERT
 - CREATE
 - CROSS
 - CURRENT_DATE
 - CURRENT_ROLE
 - CURRENT_TIME
 - CURRENT_TIMESTAMP
 - CURRENT_USER
 - CURSOR
 
D
- DATABASE
 - DATABASES
 - DAY_HOUR
 - DAY_MICROSECOND
 - DAY_MINUTE
 - DAY_SECOND
 - DEC
 - DECIMAL
 - DECLARE
 - DEFAULT
 - DELAYED
 - DELETE
 - DENSE_RANK
 - DESC
 - DESCRIBE
 - DETERMINISTIC
 - DISTINCT
 - DISTINCTROW
 - DIV
 - DOUBLE
 - DROP
 
E
- EACH
 - ELSE
 - ELSEIF
 - ENCLOSED
 - END
 - ESCAPE
 - ESCAPED
 - EXCEPT
 - EXISTS
 - EXIT
 - EXPLAIN
 
F
- FALSE
 - FETCH
 - FLOAT
 - FLOAT4
 - FLOAT8
 - FOR
 - FORCE
 - FOREIGN
 - FROM
 - FULLTEXT
 - FUNCTION
 
G
- GENERATED
 - GET
 - GRANT
 - GROUP
 - GROUPS
 
H
- HAVING
 - HIGH_PRIORITY
 - HOUR_MICROSECOND
 - HOUR_MINUTE
 - HOUR_SECOND
 
I
- IF
 - IGNORE
 - ILIKE
 - IN
 - INDEX
 - INFILE
 - INNER
 - INOUT
 - INSENSITIVE
 - INSERT
 - INT
 - INT1
 - INT2
 - INT3
 - INT4
 - INT8
 - INTEGER
 - INTERSECT
 - INTERVAL
 - INTO
 - IO_AFTER_GTIDS
 - IS
 - ITERATE
 
J
- JOIN
 
K
- KEY
 - KEYS
 - KILL
 
L
- LEADING
 - LEAVE
 - LEFT
 - LIKE
 - LIMIT
 - LINEAR
 - LINES
 - LOAD
 - LOCALTIME
 - LOCALTIMESTAMP
 - LOCK
 - LONG
 - LONGBLOB
 - LONGTEXT
 - LOOP
 - LOW_PRIORITY
 
M
- MASTER_BIND
 - MATCH
 - MAXVALUE
 - MEDIUMBLOB
 - MEDIUMINT
 - MEDIUMTEXT
 - MIDDLEINT
 - MINUS
 - MINUTE_MICROSECOND
 - MINUTE_SECOND
 - MOD
 - MODIFIES
 
N
- NATURAL
 - NOT
 - NO_WRITE_TO_BINLOG
 - NULL
 - NUMERIC
 
O
- ON
 - OPTIMIZE
 - OPTIMIZER_COSTS
 - OPTION
 - OPTIONALLY
 - OR
 - ORDER
 - OUT
 - OUTER
 - OUTFILE
 - OVER
 
P
- PARTITION
 - PRECISION
 - PRIMARY
 - PROCEDURE
 
Q
- QUICK
 
R
- RANGE
 - RANK
 - READ
 - READS
 - READ_WRITE
 - REAL
 - RECURSIVE
 - REFERENCES
 - REGEXP
 - RELEASE
 - RENAME
 - REPEAT
 - REPLACE
 - REQUIRE
 - RESIGNAL
 - RESTRICT
 - RETURN
 - REVOKE
 - RIGHT
 - RLIKE
 - ROW
 - ROWS
 - ROW_NUMBER
 
S
- SCHEMA
 - SCHEMAS
 - SECOND_MICROSECOND
 - SELECT
 - SENSITIVE
 - SEPARATOR
 - SET
 - SHOW
 - SIGNAL
 - SMALLINT
 - SPATIAL
 - SPECIFIC
 - SQL
 - SQLEXCEPTION
 - SQLSTATE
 - SQLWARNING
 - SQL_BIG_RESULT
 - SQL_BUFFER_RESULT
 - SQL_CALC_FOUND_ROWS
 - SQL_SMALL_RESULT
 - SSL
 - STARTING
 - STORED
 - STRAIGHT_JOIN
 
T
- TABLE
 - TEMPORARY
 - TERMINATED
 - THEN
 - TINYBLOB
 - TINYINT
 - TINYTEXT
 - TO
 - TRAILING
 - TRIGGER
 - TRUE
 
U
- UNDO
 - UNION
 - UNIQUE
 - UNLOCK
 - UNSIGNED
 - UNTIL
 - UPDATE
 - USAGE
 - USE
 - USING
 - UTC_DATE
 - UTC_TIME
 - UTC_TIMESTAMP
 
V
- VALUES
 - VARBINARY
 - VARCHAR
 - VARCHARACTER
 - VARYING
 - VIRTUAL
 
W
- WHEN
 - WHERE
 - WHILE
 - WITH
 - WRITE
 
X
- XOR
 
Y
- YEAR_MONTH
 
Z
- ZEROFILL
 
非保留关键字
A
- ACCOUNT
 - ACCOUNTS
 - ACTION
 - ADDDATE
 - ADMIN_NAME
 - AFTER
 - AGAINST
 - ALGORITHM
 - ANY
 - APPROX_COUNT
 - APPROX_COUNT_DISTINCT
 - APPROX_PERCENTILE
 - ASCII
 - ATTRIBUTE
 - AUTOEXTEND_SIZE
 - AUTO_INCREMENT
 - AUTO_RANDOM
 - AVG
 - AVG_ROW_LENGTH
 
B
- BACKEND
 - BACKUP
 - BINDINGS
 - BIT
 - BIT_AND
 - BIT_CAST
 - BIT_OR
 - BOOL
 - BOOLEAN
 - BSI
 - BTREE
 
C
- CANCEL
 - CASCADED
 - CAST
 - CHAIN
 - CHARSET
 - CHECKSUM
 - CIPHER
 - CLIENT
 - CLUSTER
 - CLUSTER_CENTERS
 - COALESCE
 - COLLATION
 - COLUMNS
 - COLUMN_FORMAT
 - COLUMN_NUMBER
 - COMMENT
 - COMMIT
 - COMMITTED
 - COMPACT
 - COMPRESSED
 - COMPRESSION
 - CONNECT
 - CONNECTION
 - CONNECTOR
 - CONNECTORS
 - CONSISTENT
 - COPY
 - COUNT
 - CREDENTIALS
 - CURDATE
 - CURRENT
 - CURRVAL
 - CURTIME
 - CYCLE
 
D
- DAEMON
 - DATA
 - DATE
 - DATETIME
 - DATE_ADD
 - DATE_SUB
 - DAY
 - DEALLOCATE
 - DEFINER
 - DELAY_KEY_WRITE
 - DIRECTORY
 - DISABLE
 - DISCARD
 - DISK
 - DO
 - DRAINER
 - DUPLICATE
 - DYNAMIC
 
E
- ENABLE
 - ENCRYPTION
 - ENFORCED
 - ENGINE
 - ENGINES
 - ENGINE_ATTRIBUTE
 - ENUM
 - ERRORS
 - EVENT
 - EVENTS
 - EXCLUSIVE
 - EXECUTE
 - EXPANSION
 - EXPIRE
 - EXTENDED
 - EXTENSION
 - EXTERNAL
 - EXTRACT
 
F
- FAILED_LOGIN_ATTEMPTS
 - FIELDS
 - FILE
 - FILESYSTEM
 - FILL
 - FIRST
 - FIXED
 - FOLLOWING
 - FORCE_QUOTE
 - FORMAT
 - FULL
 
G
- GEOMETRY
 - GEOMETRYCOLLECTION
 - GLOBAL
 - GRANTS
 - GROUP_CONCAT
 
H
- HANDLER
 - HASH
 - HEADER
 - HEADERS
 - HISTORY
 - HOUR
 
I
- IDENTIFIED
 - IMPORT
 - INCREMENT
 - INDEXES
 - INLINE
 - INPLACE
 - INSERT_METHOD
 - INSTANT
 - INVISIBLE
 - INVOKER
 - ISOLATION
 - ISSUER
 - IVFFLAT
 
J
- JSON
 - JSONTYPE
 
K
- KEY_BLOCK_SIZE
 
L
- LANGUAGE
 - LAST
 - LASTVAL
 - LESS
 - LEVEL
 - LINESTRING
 - LIST
 - LISTS
 - LOCAL
 - LOCKS
 - LOW_CARDINALITY
 
M
- MANAGE
 - MAX
 - MAX_CONNECTIONS_PER_HOUR
 - MAX_FILE_SIZE
 - MAX_QUERIES_PER_HOUR
 - MAX_ROWS
 - MAX_UPDATE_PER_HOUR
 - MAX_USER_CONNECTIONS
 - MEDIAN
 - MEMORY
 - MERGE
 - MICROSECOND
 - MID
 - MIN
 - MINUTE
 - MINVALUE
 - MIN_ROWS
 - MODE
 - MODIFY
 - MODUMP
 - MONTH
 - MULTILINESTRING
 - MULTIPOINT
 - MULTIPOLYGON
 - MYSQL_COMPATIBILITY_MODE
 
N
- NAMES
 - NCHAR
 - NEVER
 - NEXT
 - NEXTVAL
 - NO
 - NODE
 - NONE
 - NOW
 - NULLS
 
O
- OFFSET
 - ONLY
 - OPEN
 - OPTIONAL
 - OP_TYPE
 - OWNERSHIP
 
P
- PACK_KEYS
 - PARALLEL
 - PARSER
 - PARTIAL
 - PARTITIONS
 - PASSWORD
 - PASSWORD_LOCK_TIME
 - PAUSE
 - PERCENT
 - PERSIST
 - PLUGINS
 - POINT
 - POLYGON
 - POSITION
 - PRECEDING
 - PREPARE
 - PREV
 - PRIVILEGES
 - PROCESSLIST
 - PROFILES
 - PROPERTIES
 - PROXY
 - PUBLICATION
 - PUBLICATIONS
 - PUMP
 
Q
- QUARTER
 - QUERY
 - QUERY_RESULT
 
R
- RANDOM
 - REDUNDANT
 - REFERENCE
 - REINDEX
 - RELOAD
 - REORGANIZE
 - REPAIR
 - REPEATABLE
 - REPLICATION
 - RESET
 - RESTRICTED
 - RESUME
 - RETURNS
 - REUSE
 - REVERSE
 - ROLE
 - ROLES
 - ROLLBACK
 - ROUTINE
 - ROW_COUNT
 - ROW_FORMAT
 - RTREE
 
S
- S3OPTION
 - SAMPLE
 - SAN
 - SECOND
 - SECONDARY
 - SECONDARY_ENGINE_ATTRIBUTE
 - SECURITY
 - SEQUENCE
 - SEQUENCES
 - SERIALIZABLE
 - SERVERS
 - SESSION
 - SESSION_USER
 - SETVAL
 - SHARE
 - SHARED
 - SHUTDOWN
 - SIGNED
 - SIMPLE
 - SLAVE
 - SLIDING
 - SNAPSHOT
 - SOME
 - SOURCE
 - SPHERICAL_KMEANS
 - SQL_CACHE
 - SQL_NO_CACHE
 - SQL_TSI_DAY
 - SQL_TSI_HOUR
 - SQL_TSI_MINUTE
 - SQL_TSI_MONTH
 - SQL_TSI_QUARTER
 - SQL_TSI_SECOND
 - SQL_TSI_WEEK
 - SQL_TSI_YEAR
 - STAGE
 - STAGEOPTION
 - STAGES
 - START
 - STATS_AUTO_RECALC
 - STATS_PERSISTENT
 - STATS_SAMPLE_PAGES
 - STATUS
 - STD
 - STDDEV
 - STDDEV_POP
 - STDDEV_SAMP
 - STORAGE
 - STREAM
 - SUBDATE
 - SUBJECT
 - SUBPARTITION
 - SUBPARTITIONS
 - SUBSCRIPTIONS
 - SUBSTR
 - SUBSTRING
 - SUM
 - SUPER
 - SUSPEND
 - SYSDATE
 - SYSTEM_USER
 
T
- TABLES
 - TABLESPACE
 - TABLE_NUMBER
 - TABLE_SIZE
 - TABLE_VALUES
 - TASK
 - TEMPTABLE
 - TEXT
 - THAN
 - TIME
 - TIMESTAMP
 - TIMESTAMPDIFF
 - TRANSACTION
 - TRANSLATE
 - TRIGGERS
 - TRIM
 - TRUNCATE
 - TYPE
 
U
- UNBOUNDED
 - UNCOMMITTED
 - UNDEFINED
 - UNKNOWN
 - URL
 - USER
 - UUID
 
V
- VALIDATION
 - VALUE
 - VARIABLES
 - VARIANCE
 - VAR_POP
 - VAR_SAMP
 - VECF32
 - VECF64
 - VERBOSE
 - VIEW
 - VISIBLE
 
W
- WARNINGS
 - WEEK
 - WITHOUT
 - WORK
 
X
- X509
 
Y
- YEAR
 
Z
- ZONEMAP
 
_
- _BINARY