返回介绍

I. 教程

II. SQL 语言

III. 服务器管理

IV. 客户端接口

V. 服务器端编程

VI. 参考手册

VII. 内部

VIII. 附录

附录C. SQL 关键字

发布于 2019-09-30 03:13:58 字数 53240 浏览 934 评论 0 收藏 0

表C-1列出了所由在 SQL 标准和 PostgreSQL 8.2.3 里是关键字的记号。你可以在节4.1.1里找到相关的背景信息。

SQL 里有保留字非保留字之分。根据标准,保留字是那些真正的关键字;决不能用它们做标识符。非保留字只是在特定的环境里有特殊的含义,而在其它环境里是可以用做标识符的。大多数非保留字实际上都是 SQL 声明的内建表和函数的名字。而非保留字的概念实质上只是用来表示在某些场合里,在一个字上附加了一些预先定义的含义。

在 PostgreSQL 里,分析器的工作有些复杂。因为存在好几种不同范畴的记号,从那些永远不可能用做标识符的到那些和普通标识符比较起来在分析器里完全没有任何特殊状态的(后者通常都是 SQL 声明的函数)。即使保留关键字在 PostgreSQL 里都没有完全保留,而是可以用做字段标签。比如,虽然 CHECK 是保留关键字,但是 SELECT 55 AS CHECK 语句完全行得通。

在表C-1的"PostgreSQL"字段里,我们把那些分析器明确知道,但是可以在大多数需要标识符的环境里用做标识符的关键字分类为"非保留"。虽然一些关键字是非保留的,但是却不能用做函数或者数据类型名字,我们对这些关键字相应做了的标记。大多数这类记号代表有特殊语法的内置函数或者数据类型。仍然可以使用这些函数或者类型,但是用户不能重新定义它们。标记为"保留"的都是那些只允许出现在"AS"字段标签名里面(以及少数几个其它环境)的记号。有些保留关键字还可以用做函数的名字;这点在表中也显示出来了。

一条通用的规则是:如果你看到任何古怪的分析错,说命令包含任何这里列出的关键字做标识符,那么你可以先试试用双引号把那个标识符括起来,看看问题是否消失。

在开始学习表C-1之前还要理解的一件重要的事情是:一个关键字在 PostgreSQL 中没有保留并不意味着与该关键字相关的特性没有实现。同样,关键字的存在也并不表明某个特性就一定存在。

表C-1. SQL 关键字

关键字PostgreSQLSQL:2003SQL:1999SQL-92
A非保留
ABORT非保留
ABS保留非保留
ABSOLUTE非保留非保留保留保留
ACCESS非保留
ACTION非保留非保留保留保留
ADA非保留非保留非保留
ADD非保留非保留保留保留
ADMIN非保留非保留保留
AFTER非保留非保留保留
AGGREGATE非保留保留
ALIAS保留
ALL保留保留保留保留
ALLOCATE保留保留保留
ALSO非保留
ALTER非保留保留保留保留
ALWAYS非保留
ANALYSE保留
ANALYZE保留
AND保留保留保留保留
ANY保留保留保留保留
ARE保留保留保留
ARRAY保留保留保留
AS保留保留保留保留
ASC保留非保留保留保留
ASENSITIVE保留非保留
ASSERTION非保留非保留保留保留
ASSIGNMENT非保留非保留非保留
ASYMMETRIC保留保留非保留
AT非保留保留保留保留
ATOMIC保留非保留
ATTRIBUTE非保留
ATTRIBUTES非保留
AUTHORIZATION保留(可以是函数)保留保留保留
AVG保留非保留保留
BACKWARD非保留
BEFORE非保留非保留保留
BEGIN非保留保留保留保留
BERNOULLI非保留
BETWEEN保留(可以是函数)保留非保留保留
BIGINT非保留(不能是函数或类型)保留
BINARY保留(可以是函数)保留保留
BIT非保留(不能是函数或类型)保留保留
BITVAR非保留
BIT_LENGTH非保留保留
BLOB保留保留
BOOLEAN非保留(不能是函数或类型)保留保留
BOTH保留保留保留保留
BREADTH非保留保留
BY非保留保留保留保留
C非保留非保留非保留
CACHE非保留
CALL保留保留
CALLED非保留保留非保留
CARDINALITY保留非保留
CASCADE非保留非保留保留保留
CASCADED非保留保留保留保留
CASE保留保留保留保留
CAST保留保留保留保留
CATALOG非保留保留保留
CATALOG_NAME非保留非保留非保留
CEIL保留
CEILING保留
CHAIN非保留非保留非保留
CHAR非保留(不能是函数或类型)保留保留保留
CHARACTER非保留(不能是函数或类型)保留保留保留
CHARACTERISTICS非保留非保留
CHARACTERS非保留
CHARACTER_LENGTH保留非保留保留
CHARACTER_SET_CATALOG非保留非保留非保留
CHARACTER_SET_NAME非保留非保留非保留
CHARACTER_SET_SCHEMA非保留非保留非保留
CHAR_LENGTH保留非保留保留
CHECK保留保留保留保留
CHECKED非保留
CHECKPOINT非保留
CLASS非保留保留
CLASS_ORIGIN非保留非保留非保留
CLOB保留保留
CLOSE非保留保留保留保留
CLUSTER非保留
COALESCE非保留(不能是函数或类型)保留非保留保留
COBOL非保留非保留非保留
COLLATE保留保留保留保留
COLLATION非保留保留保留
COLLATION_CATALOG非保留非保留非保留
COLLATION_NAME非保留非保留非保留
COLLATION_SCHEMA非保留非保留非保留
COLLECT保留
COLUMN保留保留保留保留
COLUMN_NAME非保留非保留非保留
COMMAND_FUNCTION非保留非保留非保留
COMMAND_FUNCTION_CODE非保留非保留
COMMENT非保留
COMMIT非保留保留保留保留
COMMITTED非保留非保留非保留非保留
COMPLETION保留
CONCURRENTLY非保留
CONDITION保留
CONDITION_NUMBER非保留非保留非保留
CONNECT保留保留保留
CONNECTION非保留非保留保留保留
CONNECTION_NAME非保留非保留非保留
CONSTRAINT保留保留保留保留
CONSTRAINTS非保留非保留保留保留
CONSTRAINT_CATALOG非保留非保留非保留
CONSTRAINT_NAME非保留非保留非保留
CONSTRAINT_SCHEMA非保留非保留非保留
CONSTRUCTOR非保留保留
CONTAINS非保留非保留
CONTINUE非保留保留保留
CONVERSION非保留
CONVERT非保留(不能是函数或类型)保留非保留保留
COPY非保留
CORR保留
CORRESPONDING保留保留保留
COUNT保留非保留保留
COVAR_POP保留
COVAR_SAMP保留
CREATE保留保留保留保留
CREATEDB非保留
CREATEROLE非保留
CREATEUSER非保留
CROSS保留(可以是函数)保留保留保留
CSV非保留
CUBE保留保留
CUME_DIST保留
CURRENT保留保留保留
CURRENT_DATE保留保留保留保留
CURRENT_DEFAULT_TRANSFORM_GROUP保留
CURRENT_PATH保留保留
CURRENT_ROLE保留保留保留
CURRENT_TIME保留保留保留保留
CURRENT_TIMESTAMP保留保留保留保留
CURRENT_TRANSFORM_GROUP_FOR_TYPE保留
CURRENT_USER保留保留保留保留
CURSOR非保留保留保留保留
CURSOR_NAME非保留非保留非保留
CYCLE非保留保留保留
DATA非保留保留非保留
DATABASE非保留
DATE保留保留保留
DATETIME_INTERVAL_CODE非保留非保留非保留
DATETIME_INTERVAL_PRECISION非保留非保留非保留
DAY非保留保留保留保留
DEALLOCATE非保留保留保留保留
DEC非保留(不能是函数或类型)保留保留保留
DECIMAL非保留(不能是函数或类型)保留保留保留
DECLARE非保留保留保留保留
DEFAULT保留保留保留保留
DEFAULTS非保留非保留
DEFERRABLE保留非保留保留保留
DEFERRED非保留非保留保留保留
DEFINED非保留非保留
DEFINER非保留非保留非保留
DEGREE非保留
DELETE非保留保留保留保留
DELIMITER非保留
DELIMITERS非保留
DENSE_RANK保留
DEPTH非保留保留
DEREF保留保留
DERIVED非保留
DESC保留非保留保留保留
DESCRIBE保留保留保留
DESCRIPTOR非保留保留保留
DESTROY保留
DESTRUCTOR保留
DETERMINISTIC保留保留
DIAGNOSTICS非保留保留保留
DICTIONARY保留
DISABLE非保留
DISCONNECT保留保留保留
DISPATCH非保留非保留
DISTINCT保留保留保留保留
DO保留
DOMAIN非保留非保留保留保留
DOUBLE非保留保留保留保留
DROP非保留保留保留保留
DYNAMIC保留保留
DYNAMIC_FUNCTION非保留非保留非保留
DYNAMIC_FUNCTION_CODE非保留非保留
EACH非保留保留保留
ELEMENT保留
ELSE保留保留保留保留
ENABLE非保留
ENCODING非保留
ENCRYPTED非保留
END保留保留保留保留
END-EXEC保留保留保留
EQUALS非保留保留
ESCAPE非保留保留保留保留
EVERY保留保留
EXCEPT保留保留保留保留
EXCEPTION非保留保留保留
EXCLUDE非保留
EXCLUDING非保留非保留
EXCLUSIVE非保留
EXEC保留保留保留
EXECUTE非保留保留保留保留
EXISTING非保留
EXISTS非保留(不能是函数或类型)保留非保留保留
EXP保留
EXPLAIN非保留
EXTERNAL非保留保留保留保留
EXTRACT非保留(不能是函数或类型)保留非保留保留
FALSE保留保留保留保留
FETCH非保留保留保留保留
FILTER保留
FINAL非保留非保留
FIRST非保留非保留保留保留
FLOAT非保留(不能是函数或类型)保留保留保留
FLOOR保留
FOLLOWING非保留
FOR保留保留保留保留
FORCE非保留
FOREIGN保留保留保留保留
FORTRAN非保留非保留非保留
FORWARD非保留
FOUND非保留保留保留
FREE保留保留
FREEZE保留(可以是函数)
FROM保留保留保留保留
FULL保留(可以是函数)保留保留保留
FUNCTION非保留保留保留
FUSION保留
G非保留非保留
GENERAL非保留保留
GENERATED非保留非保留
GET保留保留保留
GLOBAL非保留保留保留保留
GO非保留保留保留
GOTO非保留保留保留
GRANT保留保留保留保留
GRANTED非保留非保留非保留
GREATEST非保留(不能是函数或类型)
GROUP保留保留保留保留
GROUPING保留保留
HANDLER非保留
HAVING保留保留保留保留
HEADER非保留
HIERARCHY非保留非保留
HOLD非保留保留非保留
HOST保留
HOUR非保留保留保留保留
IDENTITY保留保留保留
IF非保留
IGNORE保留
ILIKE保留(可以是函数)
IMMEDIATE非保留非保留保留保留
IMMUTABLE非保留
IMPLEMENTATION非保留非保留
IMPLICIT非保留
IN保留保留保留保留
INCLUDING非保留非保留
INCREMENT非保留非保留
INDEX非保留
INDEXES非保留
INDICATOR保留保留保留
INFIX非保留
INHERIT非保留
INHERITS非保留
INITIALIZE保留
INITIALLY保留非保留保留保留
INNER保留(可以是函数)保留保留保留
INOUT非保留(不能是函数或类型)保留保留
INPUT非保留非保留保留保留
INSENSITIVE非保留保留非保留保留
INSERT非保留保留保留保留
INSTANCE非保留非保留
INSTANTIABLE非保留非保留
INSTEAD非保留
INT非保留(不能是函数或类型)保留保留保留
INTEGER非保留(不能是函数或类型)保留保留保留
INTERSECT保留保留保留保留
INTERSECTION保留
INTERVAL非保留(不能是函数或类型)保留保留保留
INTO保留保留保留保留
INVOKER非保留非保留非保留
IS保留(可以是函数)保留保留保留
ISNULL保留(可以是函数)
ISOLATION非保留非保留保留保留
ITERATE保留
JOIN保留(可以是函数)保留保留保留
K非保留非保留
KEY非保留非保留保留保留
KEY_MEMBER非保留非保留
KEY_TYPE非保留非保留
LANCOMPILER非保留
LANGUAGE非保留保留保留保留
LARGE非保留保留保留
LAST非保留非保留保留保留
LATERAL保留保留
LEADING保留保留保留保留
LEAST非保留(不能是函数或类型)
LEFT保留(可以是函数)保留保留保留
LENGTH非保留非保留非保留
LESS保留
LEVEL非保留非保留保留保留
LIKE保留(可以是函数)保留保留保留
LIMIT保留保留
LISTEN非保留
LN保留
LOAD非保留
LOCAL非保留保留保留保留
LOCALTIME保留保留保留
LOCALTIMESTAMP保留保留保留
LOCATION非保留
LOCATOR非保留保留
LOCK非保留
LOGIN非保留
LOWER保留非保留保留
M非保留非保留
MAP非保留保留
MATCH非保留保留保留保留
MATCHED非保留
MAX保留非保留保留
MAXVALUE非保留非保留
MEMBER保留
MERGE保留
MESSAGE_LENGTH非保留非保留非保留
MESSAGE_OCTET_LENGTH非保留非保留非保留
MESSAGE_TEXT非保留非保留非保留
METHOD保留非保留
MIN保留非保留保留
MINUTE非保留保留保留保留
MINVALUE非保留非保留
MOD保留非保留
MODE非保留
MODIFIES保留保留
MODIFY保留
MODULE保留保留保留
MONTH非保留保留保留保留
MORE非保留非保留非保留
MOVE非保留
MULTISET保留
MUMPS非保留非保留非保留
NAME非保留非保留非保留
NAMES非保留非保留保留保留
NATIONAL非保留(不能是函数或类型)保留保留保留
NATURAL保留(可以是函数)保留保留保留
NCHAR非保留(不能是函数或类型)保留保留保留
NCLOB保留保留
NESTING非保留
NEW保留保留保留
NEXT非保留非保留保留保留
NO非保留保留保留保留
NOCREATEDB非保留
NOCREATEROLE非保留
NOCREATEUSER非保留
NOINHERIT非保留
NOLOGIN非保留
NONE非保留(不能是函数或类型)保留保留
NORMALIZE保留
NORMALIZED非保留
NOSUPERUSER非保留
NOT保留保留保留保留
NOTHING非保留
NOTIFY非保留
NOTNULL保留(可以是函数)
NOWAIT非保留
NULL保留保留保留保留
NULLABLE非保留非保留非保留
NULLIF非保留(不能是函数或类型)保留非保留保留
NULLS非保留
NUMBER非保留非保留非保留
NUMERIC非保留(不能是函数或类型)保留保留保留
OBJECT非保留非保留保留
OCTETS非保留
OCTET_LENGTH保留非保留保留
OF非保留保留保留保留
OFF保留保留
OFFSET保留
OIDS非保留
OLD保留保留保留
ON保留保留保留保留
ONLY保留保留保留保留
OPEN保留保留保留
OPERATION保留
OPERATOR非保留
OPTION非保留非保留保留保留
OPTIONS非保留非保留
OR保留保留保留保留
ORDER保留保留保留保留
ORDERING非保留
ORDINALITY非保留保留
OTHERS非保留
OUT非保留(不能是函数或类型)保留保留
OUTER保留(可以是函数)保留保留保留
OUTPUT非保留保留保留
OVER保留
OVERLAPS保留(可以是函数)保留非保留保留
OVERLAY非保留(不能是函数或类型)保留非保留
OVERRIDING非保留非保留
OWNED非保留
OWNER非保留
PAD非保留保留保留
PARAMETER保留保留
PARAMETERS保留
PARAMETER_MODE非保留非保留
PARAMETER_NAME非保留非保留
PARAMETER_ORDINAL_POSITION非保留非保留
PARAMETER_SPECIFIC_CATALOG非保留非保留
PARAMETER_SPECIFIC_NAME非保留非保留
PARAMETER_SPECIFIC_SCHEMA非保留非保留
PARTIAL非保留非保留保留保留
PARTITION保留
PASCAL非保留非保留非保留
PASSWORD非保留
PATH非保留保留
PERCENTILE_CONT保留
PERCENTILE_DISC保留
PERCENT_RANK保留
PLACING保留非保留
PLI非保留非保留非保留
POSITION非保留(不能是函数或类型)保留非保留保留
POSTFIX保留
POWER保留
PRECEDING非保留
PRECISION非保留(不能是函数或类型)保留保留保留
PREFIX保留
PREORDER保留
PREPARE非保留保留保留保留
PREPARED非保留
PRESERVE非保留非保留保留保留
PRIMARY保留保留保留保留
PRIOR非保留非保留保留保留
PRIVILEGES非保留非保留保留保留
PROCEDURAL非保留
PROCEDURE非保留保留保留保留
PUBLIC非保留保留保留
QUOTE非保留
RANGE保留
RANK保留
READ非保留非保留保留保留
READS保留保留
REAL非保留(不能是函数或类型)保留保留保留
REASSIGN非保留
RECHECK非保留
RECURSIVE保留保留
REF保留保留
REFERENCES保留保留保留保留
REFERENCING保留保留
REGR_AVGX保留
REGR_AVGY保留
REGR_COUNT保留
REGR_INTERCEPT保留
REGR_R2保留
REGR_SLOPE保留
REGR_SXX保留
REGR_SXY保留
REGR_SYY保留
REINDEX非保留
RELATIVE非保留非保留保留保留
RELEASE非保留保留
RENAME非保留
REPEATABLE非保留非保留非保留非保留
REPLACE非保留
RESET非保留
RESTART非保留非保留
RESTRICT非保留非保留保留保留
RESULT保留保留
RETURN保留保留
RETURNED_CARDINALITY非保留
RETURNED_LENGTH非保留非保留非保留
RETURNED_OCTET_LENGTH非保留非保留非保留
RETURNED_SQLSTATE非保留非保留非保留
RETURNING保留
RETURNS非保留保留保留
REVOKE非保留保留保留保留
RIGHT保留(可以是函数)保留保留保留
ROLE非保留非保留保留
ROLLBACK非保留保留保留保留
ROLLUP保留保留
ROUTINE非保留保留
ROUTINE_CATALOG非保留非保留
ROUTINE_NAME非保留非保留
ROUTINE_SCHEMA非保留非保留
ROW非保留(不能是函数或类型)保留保留
ROWS非保留保留保留保留
ROW_COUNT非保留非保留非保留
ROW_NUMBER保留
RULE非保留
SAVEPOINT非保留保留保留
SCALE非保留非保留非保留
SCHEMA非保留非保留保留保留
SCHEMA_NAME非保留非保留非保留
SCOPE保留保留
SCOPE_CATALOG非保留
SCOPE_NAME非保留
SCOPE_SCHEMA非保留
SCROLL非保留保留保留保留
SEARCH保留保留
SECOND非保留保留保留保留
SECTION非保留保留保留
SECURITY非保留非保留非保留
SELECT保留保留保留保留
SELF非保留非保留
SENSITIVE保留非保留
SEQUENCE非保留非保留保留
SERIALIZABLE非保留非保留非保留非保留
SERVER_NAME非保留非保留非保留
SESSION非保留非保留保留保留
SESSION_USER保留保留保留保留
SET非保留保留保留保留
SETOF非保留(不能是函数或类型)
SETS非保留保留
SHARE非保留
SHOW非保留
SIMILAR保留(可以是函数)保留非保留
SIMPLE非保留非保留非保留
SIZE非保留保留保留
SMALLINT非保留(不能是函数或类型)保留保留保留
SOME保留保留保留保留
SOURCE非保留非保留
SPACE非保留保留保留
SPECIFIC保留保留
SPECIFICTYPE保留保留
SPECIFIC_NAME非保留非保留
SQL保留保留保留
SQLCODE保留
SQLERROR保留
SQLEXCEPTION保留保留
SQLSTATE保留保留保留
SQLWARNING保留保留
SQRT保留
STABLE非保留
START非保留保留保留
STATE非保留保留
STATEMENT非保留非保留保留
STATIC保留保留
STATISTICS非保留
STDDEV_POP保留
STDDEV_SAMP保留
STDIN非保留
STDOUT非保留
STORAGE非保留
STRICT非保留
STRUCTURE非保留保留
STYLE非保留非保留
SUBCLASS_ORIGIN非保留非保留非保留
SUBLIST非保留
SUBMULTISET保留
SUBSTRING非保留(不能是函数或类型)保留非保留保留
SUM保留非保留保留
SUPERUSER非保留
SYMMETRIC保留保留非保留
SYSID非保留
SYSTEM非保留保留非保留
SYSTEM_USER保留保留保留
TABLE保留保留保留保留
TABLESAMPLE保留
TABLESPACE非保留
TABLE_NAME非保留非保留非保留
TEMP非保留
TEMPLATE非保留
TEMPORARY非保留非保留保留保留
TERMINATE保留
THAN保留
THEN保留保留保留保留
TIES非保留
TIME非保留(不能是函数或类型)保留保留保留
TIMESTAMP非保留(不能是函数或类型)保留保留保留
TIMEZONE_HOUR保留保留保留
TIMEZONE_MINUTE保留保留保留
TO保留保留保留保留
TOP_LEVEL_COUNT非保留
TRAILING保留保留保留保留
TRANSACTION非保留非保留保留保留
TRANSACTIONS_COMMITTED非保留非保留
TRANSACTIONS_ROLLED_BACK非保留非保留
TRANSACTION_ACTIVE非保留非保留
TRANSFORM非保留非保留
TRANSFORMS非保留非保留
TRANSLATE保留非保留保留
TRANSLATION保留保留保留
TREAT非保留(不能是函数或类型)保留保留
TRIGGER非保留保留保留
TRIGGER_CATALOG非保留非保留
TRIGGER_NAME非保留非保留
TRIGGER_SCHEMA非保留非保留
TRIM非保留(不能是函数或类型)保留非保留保留
TRUE保留保留保留保留
TRUNCATE非保留
TRUSTED非保留
TYPE非保留非保留非保留非保留
UESCAPE保留
UNBOUNDED非保留
UNCOMMITTED非保留非保留非保留非保留
UNDER非保留保留
UNENCRYPTED非保留
UNION保留保留保留保留
UNIQUE保留保留保留保留
UNKNOWN非保留保留保留保留
UNLISTEN非保留
UNNAMED非保留非保留非保留
UNNEST保留保留
UNTIL非保留
UPDATE非保留保留保留保留
UPPER保留非保留保留
USAGE非保留保留保留
USER保留保留保留保留
USER_DEFINED_TYPE_CATALOG非保留非保留
USER_DEFINED_TYPE_CODE非保留
USER_DEFINED_TYPE_NAME非保留非保留
USER_DEFINED_TYPE_SCHEMA非保留非保留
USING保留保留保留保留
VACUUM非保留
VALID非保留
VALIDATOR非保留
VALUE保留保留保留
VALUES非保留(不能是函数或类型)保留保留保留
VARCHAR非保留(不能是函数或类型)保留保留保留
VARIABLE保留
VARYING非保留保留保留保留
VAR_POP保留
VAR_SAMP保留
VERBOSE保留(可以是函数)
VIEW非保留非保留保留保留
VOLATILE非保留
WHEN保留保留保留保留
WHENEVER保留保留保留
WHERE保留保留保留保留
WIDTH_BUCKET保留
WINDOW保留
WITH非保留保留保留保留
WITHIN保留
WITHOUT非保留保留保留
WORK非保留非保留保留保留
WRITE非保留非保留保留保留
YEAR非保留保留保留
ZONE非保留非保留保留保留

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文