SQL关键字
来源:互联网 发布:mysql 表分区查询 编辑:程序博客网 时间:2024/05/21 08:59
转载:http://man.chinaunix.net/database/postgresql_8.0_CN/sql-keywords-appendix.htmlTable C-1
列出了所由在 SQL 标准和 PostgreSQL 8.0.0 里是关键字的记号。 你可以在 Section 4.1.1 里找到相关的背景信息。
SQL 里有保留字(保留)和 非保留字之分。根据标准, 保留字是那些真正的关键字;我们决不能用它们做标识符。 非保留字只是在特定的环境里有特殊的含义,而在其它环境里是可以用做标识符的。 大多数非保留字实际上都是 SQL 声明的内建表和函数的名字。 而非保留字的概念实质上只是用来表示在某些场合里,在一个字上附加了一些预先定义的含义。
在 PostgreSQL 里,分析器的工作有些复杂。 因为存在好几种不同范畴的记号, 从那些永远不可能用做标识符的到那些和普通标识符比较起来在分析器里完全没有任何特殊状态的。 (后者通常都是 SQL 声明的函数。)即使保留关键字在 PostgreSQL 里都没有完全保留,而是可以用做字段标签(比如,SELECT 55 AS CHECK — 虽然 CHECK是保留关键字。)
在 Table C-1 里用于 PostgreSQL 的字段里, 我们把那些分析器明确知道,但是可以在大多数需要标识符的环境里用做标识符的关键字分类为"非保留"。 否则一些关键字就是非保留的,因此不能用做函数或者数据类型名字, 并且相应做了标记。(大多数这类记号代表有特殊语法的内置函数或者数据类型。 我们仍然可以使用这些函数或者类型,但是用户不能重新定义它们。) 标记为"保留"都是那些只允许出现在 "AS" 字段标签名里面的(以及可能还有很少的几个其它环境)的记号。 有些保留关键字还可以用做函数的名字;这点在表中也显示出来了。
一条通用的规则是:如果你看到任何古怪的分析错, 说命令包含任何这里列出的关键字做标识符, 那么你可以先试试用双引号把那个标识符括起来,看看问题是否消失。
在开始学习 Table C-1 之前我们还要理解的一件重要的事情是:一个关键字在 PostgreSQL 中没有保留并不意味着与该关键字相关的特性没有实现。 同样,关键字的存在并不表明某个特性就存在。
关键字 | PostgreSQL | SQL:2003 | SQL:1999 | SQL-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 保留 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非保留 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 保留 DISCONNECT 保留保留保留DISPATCH 非保留非保留 DISTINCT保留保留保留保留DO保留 DOMAIN非保留非保留保留保留DOUBLE非保留保留保留保留DROP非保留保留保留保留DYNAMIC 保留保留 DYNAMIC_FUNCTION 非保留非保留非保留DYNAMIC_FUNCTION_CODE 非保留非保留 EACH非保留保留保留 ELEMENT 保留 ELSE保留保留保留保留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 非保留非保留 GROUP保留保留保留保留GROUPING 保留保留 HANDLER非保留 HAVING保留保留保留保留HIERARCHY 非保留非保留 HOLD非保留保留非保留 HOST 保留 HOUR非保留保留保留保留IDENTITY 保留保留保留IGNORE 保留 ILIKE保留(可以是函数) IMMEDIATE非保留非保留保留保留IMMUTABLE非保留 IMPLEMENTATION 非保留非保留 IMPLICIT非保留 IN保留保留保留保留INCLUDING非保留非保留 INCREMENT非保留非保留 INDEX非保留 INDICATOR 保留保留保留INFIX 非保留 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保留保留保留保留LEFT保留(可以是函数)保留保留保留LENGTH 非保留非保留非保留LESS 保留 LEVEL非保留非保留保留保留LIKE保留(可以是函数)保留保留保留LIMIT保留 保留 LISTEN非保留 LN 保留 LOAD非保留 LOCAL非保留保留保留保留LOCALTIME保留保留保留 LOCALTIMESTAMP保留保留保留 LOCATION非保留 LOCATOR 非保留保留 LOCK非保留 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非保留 NOCREATEUSER非保留 NONE非保留(不能是函数或类型)保留保留 NORMALIZE 保留 NORMALIZED 非保留 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 非保留非保留 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非保留保留保留保留PRESERVE非保留非保留保留保留PRIMARY保留保留保留保留PRIOR非保留非保留保留保留PRIVILEGES非保留非保留保留保留PROCEDURAL非保留 PROCEDURE非保留保留保留保留PUBLIC 保留保留保留QUOTE非保留 RANGE 保留 RANK 保留 READ非保留非保留保留保留READS 保留保留 REAL非保留(不能是函数或类型)保留保留保留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非保留 RESTRICT非保留非保留保留保留RESULT 保留保留 RETURN 保留保留 RETURNED_CARDINALITY 非保留 RETURNED_LENGTH 非保留非保留非保留RETURNED_OCTET_LENGTH 非保留非保留非保留RETURNED_SQLSTATE 非保留非保留非保留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 保留非保留保留SYMMETRIC 保留非保留 SYSID非保留 SYSTEM 保留非保留 SYSTEM_USER 保留保留保留TABLE保留保留保留保留TABLESAMPLE 保留 TABLESPACE非保留 TABLE_NAME 非保留非保留非保留TEMP非保留 TEMPLATE非保留 TEMPORARY非保留非保留保留保留TERMINATE 保留 THAN 保留 THEN保留保留保留保留TIES 非保留 TIME非保留(不能是函数或类型)保留保留保留TIMESTAMP非保留(不能是函数或类型)保留保留保留TIMEZONE_HOUR 保留保留保留TIMEZONE_MINUTE 保留保留保留TO保留保留保留保留TOAST非保留 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非保留非保留保留保留