关键字

SQL里有保留字和非保留字之分。根据标准,保留字决不能用做其他标识符。非保留字只是在特定的环境里有特殊的含义,而在其他环境里是可以用做标识符的。

标识符的命名需要遵守如下规范:

  • 标识符需要为字母、下划线、数字(0-9)或美元符号($)。

  • 标识符必须以字母(a-z)或下划线(_)开头。

    说明:

    • 此命名规范为建议项,非强制项。

    • 特殊情况下可以使用双引号规避特殊字符报错。

表 1 SQL关键字

关键字

openGauss

SQL:1999

SQL-92

ABORT

非保留

-

-

ABS

-

非保留

-

ABSOLUTE

非保留

保留

保留

ACCESS

非保留

-

-

ACCOUNT

非保留

-

-

ACTION

非保留

保留

保留

ADA

-

非保留

非保留

ADD

非保留

保留

保留

ADMIN

非保留

保留

-

AFTER

非保留

保留

-

AGGREGATE

非保留

保留

-

ALGORITHM

非保留

-

-

ALIAS

-

保留

-

ALL

保留

保留

保留

ALLOCATE

-

保留

保留

ALSO

非保留

-

-

ALTER

非保留

保留

保留

ALWAYS

非保留

-

-

ANALYSE

保留

-

-

ANALYZE

保留

-

-

AND

保留

保留

保留

ANY

保留

保留

保留

APP

非保留

-

-

APPEND

非保留

-

-

ARCHIVE

非保留

-

-

ENDS

非保留

-

-

ARE

-

保留

保留

ARRAY

保留

保留

-

AS

保留

保留

保留

ASC

保留

保留

保留

ASENSITIVE

-

非保留

-

ASSERTION

非保留

保留

保留

ASSIGNMENT

非保留

非保留

-

ASYMMETRIC

保留

非保留

-

AT

非保留

保留

保留

ATOMIC

-

非保留

-

ATTRIBUTE

非保留

-

-

AUDIT

非保留

-

-

AUTHID

保留

-

-

AUTHORIZATION

保留(可以是函数或类型)

保留

保留

AUTOEXTEND

非保留

-

-

AUTOMAPPED

非保留

-

-

AVG

-

非保留

保留

BACKWARD

非保留

-

-

BARRIER

非保留

-

-

BEFORE

非保留

保留

-

BEGIN

非保留

保留

保留

BEGIN_NON_ANOYBLOCK

非保留

-

-

BETWEEN

非保留(不能是函数或类型)

非保留

保留

BIGINT

非保留(不能是函数或类型)

-

-

BINARY

保留(可以是函数或类型)

保留

-

BINARY_DOUBLE

非保留(不能是函数或类型)

-

-

BINARY_INTEGER

非保留(不能是函数或类型)

-

-

BIT

非保留(不能是函数或类型)

保留

保留

BITVAR

-

非保留

-

BIT_LENGTH

-

非保留

保留

BLANKS

非保留

-

-

BLOB

非保留

保留

-

BLOCKCHAIN

非保留

-

-

BODY

非保留

-

-

BOOLEAN

非保留(不能是函数或类型)

保留

-

BOTH

保留

保留

保留

BUCKETCNT

非保留(不能是函数或类型)

-

-

BUCKETS

保留

-

-

BREADTH

-

保留

-

BY

非保留

保留

保留

BYTEAWITHOUTORDER

非保留(不能是函数或类型)

-

-

BYTEAWITHOUTORDERWITHEQUAL

非保留(不能是函数或类型)

-

-

C

-

非保留

非保留

CACHE

非保留

-

-

CALL

非保留

保留

-

CALLED

非保留

非保留

-

CANCELABLE

非保留

-

-

CARDINALITY

-

非保留

-

CASCADE

非保留

保留

保留

CASCADED

非保留

保留

保留

CASE

保留

保留

保留

CAST

保留

保留

保留

CATALOG

非保留

保留

保留

CATALOG_NAME

-

非保留

非保留

CHAIN

非保留

非保留

-

CHAR

非保留(不能是函数或类型)

保留

保留

CHARACTER

非保留(不能是函数或类型)

保留

保留

CHARACTERISTICS

非保留

-

-

CHARACTERSET

非保留

-

-

CHARACTER_LENGTH

-

非保留

保留

CHARACTER_SET_CATALOG

-

非保留

非保留

CHARACTER_SET_NAME

-

非保留

非保留

CHARACTER_SET_SCHEMA

-

非保留

非保留

CHAR_LENGTH

-

非保留

保留

CHECK

保留

保留

保留

CHECKED

-

非保留

-

CHECKPOINT

非保留

-

-

CLASS

非保留

保留

-

CLEAN

非保留

-

-

CLASS_ORIGIN

-

非保留

非保留

CLIENT

非保留

-

-

CLIENT_MASTER_KEY

非保留

-

-

CLIENT_MASTER_KEYS

非保留

-

-

CLOB

非保留

保留

-

CLOSE

非保留

保留

保留

CLUSTER

非保留

-

-

COALESCE

非保留(不能是函数或类型)

非保留

保留

COBOL

-

非保留

非保留

COLLATE

保留

保留

保留

COLLATION

保留(可以是函数或类型)

保留

保留

COLLATION_CATALOG

-

非保留

非保留

COLLATION_NAME

-

非保留

非保留

COLLATION_SCHEMA

-

非保留

非保留

COLUMN

保留

保留

保留

COLUMN_ENCRYPTION_KEY

非保留

-

-

COLUMN_ENCRYPTION_KEYS

非保留

-

-

COLUMN_NAME

-

非保留

非保留

COMPACT

保留(可以是函数或类型)

-

-

COMPATIBLE_ILLEGAL_CHARS

非保留

-

-

COMMAND_FUNCTION

-

非保留

非保留

COMPLETE

非保留

-

-

COMMAND_FUNCTION_CODE

-

非保留

-

COMMENT

非保留

-

-

COMMENTS

非保留

-

-

COMMIT

非保留

保留

保留

COMMITTED

非保留

非保留

非保留

COMPRESS

非保留

-

-

COMPLETION

-

保留

-

CONCURRENTLY

保留(可以是函数或类型)

-

-

CONDITION

非保留

-

-

CONDITION_NUMBER

-

非保留

非保留

CONFIGURATION

非保留

-

-

CONNECT

非保留

保留

保留

CONNECTION

非保留

保留

保留

CONNECTION_NAME

-

非保留

非保留

CONSTANT

非保留

-

-

CONSTRAINT

保留

保留

保留

CONSTRAINTS

非保留

保留

保留

CONSTRAINT_CATALOG

-

非保留

非保留

CONSTRAINT_NAME

-

非保留

非保留

CONSTRAINT_SCHEMA

-

非保留

非保留

CONSTRUCTOR

-

保留

-

CONTAINS

-

非保留

-

CONTENT

非保留

-

-

CONTINUE

非保留

保留

保留

CONTVIEW

非保留

-

-

CONVERSION

非保留

-

-

CONVERT

-

非保留

保留

COORDINATOR

非保留

-

-

COORDINATORS

非保留

-

-

COPY

非保留

-

-

CORRESPONDING

-

保留

保留

COST

非保留

-

-

COUNT

-

非保留

保留

CREATE

保留

保留

保留

CROSS

保留(可以是函数或类型)

保留

保留

CSN

保留(可以是函数或类型)

-

-

CSV

非保留

-

-

CUBE

非保留

保留

-

CURRENT

非保留

保留

保留

CURRENT_CATALOG

保留

-

-

CURRENT_DATE

保留

保留

保留

CURRENT_PATH

-

保留

-

CURRENT_ROLE

保留

保留

-

CURRENT_SCHEMA

保留(可以是函数或类型)

-

-

CURRENT_TIME

保留

保留

保留

CURRENT_TIMESTAMP

保留

保留

保留

CURRENT_USER

保留

保留

保留

CURSOR

非保留

保留

保留

CURSOR_NAME

-

非保留

非保留

CYCLE

非保留

保留

-

DATA

非保留

保留

非保留

DATABASE

非保留

-

-

DATAFILE

非保留

-

-

DATANODE

非保留

-

-

DATANODES

非保留

-

-

DATE_FORMAT

非保留

-

-

DATATYPE_CL

非保留

-

-

DATE

非保留(不能是函数或类型)

保留

保留

DELTAMERGE

保留(可以是函数或类型)

-

-

DATETIME_INTERVAL_CODE

-

非保留

非保留

DATETIME_INTERVAL_PRECISION

-

非保留

非保留

DAY

非保留

保留

保留

DBCOMPATIBILITY

非保留

-

-

DEALLOCATE

非保留

保留

保留

DEC

非保留(不能是函数或类型)

保留

保留

DECIMAL

非保留(不能是函数或类型)

保留

保留

DECLARE

非保留

保留

保留

DECODE

非保留(不能是函数或类型)

-

-

DEFAULT

保留

保留

保留

DEFAULTS

非保留

-

-

DEFERRABLE

保留

保留

保留

DEFERRED

非保留

保留

保留

DEFINED

-

非保留

-

DEFINER

非保留

非保留

-

DELETE

非保留

保留

保留

DELIMITER

非保留

-

-

DELIMITERS

非保留

-

-

DELTA

非保留

-

-

DEPTH

-

保留

-

DEREF

-

保留

-

DESC

保留

保留

保留

DESCRIBE

-

保留

保留

DESCRIPTOR

-

保留

保留

DESTROY

-

保留

-

DESTRUCTOR

-

保留

-

DETERMINISTIC

非保留

保留

-

DIAGNOSTICS

-

保留

保留

DICTIONARY

非保留

保留

-

DIRECT

非保留

-

-

DIRECTORY

非保留

-

-

DISABLE

非保留

-

-

DISCARD

非保留

-

-

DISCONNECT

非保留

保留

保留

DISPATCH

-

非保留

-

DISTINCT

保留

保留

保留

DISTRIBUTE

非保留

-

-

DISTRIBUTION

非保留

-

-

DO

保留

-

-

DOCUMENT

非保留

-

-

DOMAIN

非保留

保留

保留

DOUBLE

非保留

保留

保留

DROP

非保留

保留

保留

DUMPFILE

非保留

-

-

DUPLICATE

非保留

-

-

DYNAMIC

-

保留

-

DYNAMIC_FUNCTION

-

非保留

非保留

DYNAMIC_FUNCTION_CODE

-

非保留

-

EACH

非保留

保留

-

ELSE

保留

保留

保留

ELASTIC

非保留

-

-

ENABLE

非保留

-

-

ENCLOSED

非保留

-

-

ENCODING

非保留

-

-

ENCRYPTED

非保留

-

-

ENCRYPTED_VALUE

非保留

-

-

ENCRYPTION

非保留

-

-

ENCRYPTION_TYPE

非保留

-

-

END

保留

保留

保留

END-EXEC

-

保留

保留

ENFORCED

非保留

-

-

ENUM

非保留

-

-

EOL

非保留

-

-

ERRORS

非保留

-

-

EQUALS

-

保留

-

ESCAPED

非保留

-

保留

ESCAPE

非保留

保留

保留

ESCAPING

非保留

-

-

EVENT

非保留

-

-

EVENTS

非保留

-

-

EVERY

非保留

保留

-

EXCEPT

保留

保留

保留

EXCEPTION

-

保留

保留

EXCHANGE

非保留

-

-

EXCLUDE

非保留

-

-

EXCLUDED

保留

-

-

EXCLUDING

非保留

-

-

EXCLUSIVE

非保留

-

-

EXEC

-

保留

保留

EXECUTE

非保留

保留

保留

EXISTING

-

非保留

-

EXISTS

非保留(不能是函数或类型)

非保留

保留

EXPIRED_P

非保留

-

-

EXPLAIN

非保留

-

-

Extension

非保留

-

-

EXTERNAL

非保留

保留

保留

EXTRACT

非保留(不能是函数或类型)

非保留

保留

FALSE

保留

保留

保留

FAMILY

非保留

-

-

FAST

非保留

-

-

FEATURES

非保留

-

-

FETCH

保留

保留

保留

FENCED

保留

-

-

FIELDS

非保留

-

-

FILEHEADER

非保留

-

-

FILLER

非保留

-

-

FILTER

非保留

保留

保留

FINAL

-

非保留

-

FIRST

非保留

保留

保留

FIXED

非保留

保留

保留

FILL_MISSING_FIELDS

非保留

-

-

FLOAT

非保留(不能是函数或类型)

保留

保留

FOLLOWING

非保留

-

-

FOR

保留

保留

保留

FORCE

非保留

-

-

FOREIGN

保留

保留

保留

FORMATTER

非保留

-

-

FORTRAN

-

非保留

非保留

FORWARD

非保留

-

-

FOUND

-

保留

保留

FREE

-

保留

-

FREEZE

保留(可以是函数或类型)

-

-

FROM

保留

保留

保留

FULL

保留(可以是函数或类型)

保留

保留

FUNCTION

非保留

保留

-

FUNCTIONS

非保留

-

-

G

-

非保留

-

GENERAL

-

保留

-

GENERATED

非保留

非保留

-

GET

-

保留

保留

GLOBAL

非保留

保留

保留

GO

-

保留

保留

GOTO

-

保留

保留

GRANT

保留

保留

保留

GRANTED

非保留

非保留

-

GREATEST

非保留(不能是函数或类型)

-

-

GROUP

保留

保留

保留

GROUPING

非保留(不能是函数或类型)

保留

-

GROUPPARENT

保留

-

-

HANDLER

非保留

-

-

HAVING

保留

保留

保留

HDFSDIRECTORY

保留(可以是函数或类型)

-

-

HEADER

非保留

-

-

HIERARCHY

-

非保留

-

HOLD

非保留

非保留

-

HOST

-

保留

-

HOUR

非保留

保留

保留

IDENTIFIED

非保留

-

-

IDENTITY

非保留

保留

保留

IF

非保留

-

-

IGNORE

-

保留

-

IGNORE_EXTRA_DATA

非保留

-

-

ILIKE

保留(可以是函数或类型)

-

-

IMMEDIATE

非保留

保留

保留

IMMUTABLE

非保留

-

-

IMPLEMENTATION

-

非保留

-

IMPLICIT

非保留

-

-

IN

保留

保留

保留

INTERNAL

非保留

-

-

INCLUDE

非保留

-

-

INCLUDING

非保留

-

-

INCREMENT

非保留

-

-

INCREMENTAL

非保留

-

-

INDEX

非保留

-

-

INDEXES

非保留

-

-

INDICATOR

-

保留

保留

INFILE

非保留

-

-

INFIX

-

非保留

-

INHERIT

非保留

-

-

INHERITS

非保留

-

-

INITIAL

非保留

-

-

INITIALIZE

-

保留

-

INITIALLY

保留

保留

保留

INITRANS

非保留

-

-

INLINE

非保留

-

-

INNER

保留(可以是函数或类型)

保留

保留

INOUT

非保留(不能是函数或类型)

保留

-

INPUT

非保留

保留

保留

INSENSITIVE

非保留

非保留

保留

INSERT

非保留

保留

保留

INSTANCE

-

非保留

-

INSTANTIABLE

-

非保留

-

INSTEAD

非保留

-

-

INT

非保留(不能是函数或类型)

保留

保留

INTEGER

非保留(不能是函数或类型)

保留

保留

INTERSECT

保留

保留

保留

INTERVAL

非保留(不能是函数或类型)

保留

保留

INTO

保留

保留

保留

INVOKER

非保留

非保留

-

IP

非保留

-

-

IS

保留

保留

保留

ISNULL

非保留

-

-

ISOLATION

非保留

保留

保留

ITERATE

-

保留

-

JOIN

保留(可以是函数或类型)

保留

保留

K

-

非保留

-

KEY

非保留

保留

保留

KEY_PATH

非保留

-

-

KEY_MEMBER

-

非保留

-

KEY_STORE

非保留

-

-

KEY_TYPE

-

非保留

-

KILL

非保留

-

-

LABEL

非保留

-

-

LANGUAGE

非保留

保留

保留

LARGE

非保留

保留

-

LAST

非保留

保留

保留

LATERAL

-

保留

-

LC_COLLATE

非保留

-

-

LC_CTYPE

非保留

-

-

LEADING

保留

保留

保留

LEAKPROOF

非保留

-

-

LEAST

非保留(不能是函数或类型)

-

-

LEFT

保留(可以是函数或类型)

保留

保留

LENGTH

-

非保留

非保留

LESS

保留

保留

-

LEVEL

非保留

保留

保留

LIKE

保留(可以是函数或类型)

保留

保留

LIMIT

保留

保留

-

LIST

非保留

-

-

LINES

非保留

-

-

LISTEN

非保留

-

-

LOAD

非保留

-

-

LOCAL

非保留

保留

保留

LOCALTIME

保留

保留

-

LOCALTIMESTAMP

保留

保留

-

LOCATION

非保留

-

-

LOCATOR

-

保留

-

LOCK

非保留

-

-

LOG

非保留

-

-

LOGGING

非保留

-

-

LOGIN_ANY

非保留

-

-

LOGIN_FAILURE

非保留

-

-

LOGIN_SUCCESS

非保留

-

-

LOGOUT

非保留

-

-

LOOP

非保留

-

-

LOWER

-

非保留

保留

MAP

-

保留

-

MAPPING

非保留

-

-

MASKING

非保留

-

-

MASTER

非保留

-

-

MATCH

非保留

保留

保留

MATCHED

非保留

-

-

MATERIALIZED

非保留

-

-

MAX

-

非保留

保留

MAXEXTENTS

非保留

-

-

MAXSIZE

非保留

-

-

MAXTRANS

非保留

-

-

MAXVALUE

保留

-

-

MERGE

非保留

-

-

MESSAGE_LENGTH

-

非保留

非保留

MESSAGE_OCTET_LENGTH

-

非保留

非保留

MESSAGE_TEXT

-

非保留

非保留

METHOD

-

非保留

-

MIN

-

非保留

保留

MINEXTENTS

非保留

-

-

MINUS

保留

-

-

MINUTE

非保留

保留

保留

MINVALUE

非保留

-

-

MOD

-

非保留

-

MODE

非保留

-

-

MODEL

非保留

-

-

MODIFIES

-

保留

-

MODIFY

保留

保留

-

MODULE

-

保留

保留