云服务器内容精选

  • 关键字 SQL里有保留字和非保留字之分。根据标准,保留字绝不能用做其他标识符。非保留字只是在特定的环境里有特殊的含义,而在其他环境里是可以用做标识符的。 表1 SQL关键字 关键字 Fabric SQL SQL:1999 SQL:1992 ABORT 非保留 - - ABS - 非保留 - ABSOLUTE 非保留 保留 保留 AC CES S 非保留 - - ACCOUNT 非保留 - - ACTION 非保留 保留 保留 ADA - 非保留 非保留 ADD 非保留 保留 保留 ADMIN 非保留 保留 - AFTER 非保留 保留 - AGGREGATE 非保留 保留 - ALIAS - 保留 - ALL 保留 保留 保留 ALLOCATE - 保留 保留 ALSO 非保留 - - ALTER 非保留 保留 保留 ALWAYS 非保留 - - ANALYSE 保留 - - ANALYZE 保留 - - AND 保留 保留 保留 ANY 保留 保留 保留 APP 非保留 - - ARE - 保留 保留 ARRAY 保留 保留 - AS 保留 保留 保留 ASC 保留 保留 保留 ASENSITIVE - 非保留 - ASSERTION 非保留 保留 保留 ASSIGNMENT 非保留 非保留 - ASYMMETRIC 保留 非保留 - AT 非保留 保留 保留 ATOMIC - 非保留 - ATTRIBUTE 非保留 - - AUTHID 保留 - - AUTHINFO 非保留 - - AUTHORIZATION 保留(可以是函数或类型) 保留 保留 AUTOEXTEND 非保留 - - AUTOMAPPED 非保留 - - AVG - 非保留 保留 BACKWARD 非保留 - - BARRIER 非保留 - - BEFORE 非保留 保留 - BEGIN 非保留 保留 保留 BETWEEN 非保留(不能是函数或类型) 非保留 保留 BIGINT 非保留(不能是函数或类型) - - BINARY 保留(可以是函数或类型) 保留 - BINARY_DOUBLE 非保留(不能是函数或类型) - - BINARY_INTEGER 非保留(不能是函数或类型) - - BIT 非保留(不能是函数或类型) 保留 保留 BITVAR - 非保留 - BIT_LENGTH - 非保留 保留 BLOB 非保留 保留 - BOOLEAN 非保留(不能是函数或类型) 保留 - BOTH 保留 保留 保留 BUCKETS 保留 - - BREADTH - 保留 - BY 非保留 保留 保留 C - 非保留 非保留 CACHE 非保留 - - CALL 非保留 保留 - CALLED 非保留 非保留 - CARDINALITY - 非保留 - CASCADE 非保留 保留 保留 CASCADED 非保留 保留 保留 CASE 保留 保留 保留 CAST 保留 保留 保留 CATA LOG 非保留 保留 保留 CATALOG_NAME - 非保留 非保留 CHAIN 非保留 非保留 - CHAR 非保留(不能是函数或类型) 保留 保留 CHARACTER 非保留(不能是函数或类型) 保留 保留 CHARACTERIS TICS 非保留 - - CHARACTER_LENGTH - 非保留 保留 CHARACTER_SET_CATALOG - 非保留 非保留 CHARACTER_SET_NAME - 非保留 非保留 CHARACTER_SET_SCHEMA - 非保留 非保留 CHAR_LENGTH - 非保留 保留 CHECK 保留 保留 保留 CHECKED - 非保留 - CHECKPOINT 非保留 - - CLASS 非保留 保留 - CLEAN 非保留 - - CLASS_ORIGIN - 非保留 非保留 CLOB 非保留 保留 - CLOSE 非保留 保留 保留 CLUSTER 非保留 - - COALESCE 非保留(不能是函数或类型) 非保留 保留 COBOL - 非保留 非保留 COLLATE 保留 保留 保留 COLLATION 保留(可以是函数或类型) 保留 保留 COLLATION_CATALOG - 非保留 非保留 COLLATION_NAME - 非保留 非保留 COLLATION_SCHEMA - 非保留 非保留 COLUMN 保留 保留 保留 COLUMNS 非保留 - - COLUMN_NAME - 非保留 非保留 COMMAND_FUNCTION - 非保留 非保留 COMMAND_FUNCTION_CODE - 非保留 - COMMENT 非保留 - - COMMENTS 非保留 - - COMMIT 非保留 保留 保留 COMMITTED 非保留 非保留 非保留 COMPATIBLE_ILLEGAL_CHARS 非保留 - - COMPLETE 非保留 - - COMPRESS 非保留 - - COMPLETION - 保留 - CONCURRENTLY 保留(可以是函数或类型) - - CONDITION - - - CONDITION_NUMBER - 非保留 非保留 CONFIGURATION 非保留 - - CONNECT - 保留 保留 CONNECTION 非保留 保留 保留 CONNECTION_NAME - 非保留 非保留 CONSTRAINT 保留 保留 保留 CONSTRAINTS 非保留 保留 保留 CONSTRAINT_CATALOG - 非保留 非保留 CONSTRAINT_NAME - 非保留 非保留 CONSTRAINT_SCHEMA - 非保留 非保留 CONSTRUCTOR - 保留 - CONTAINS - 非保留 - CONTENT 非保留 - - CONTINUE 非保留 保留 保留 CONVERSION 非保留 - - CONVERT - 非保留 保留 COORDINATOR 非保留 - - COPY 非保留 - - CORRESPONDING - 保留 保留 COST 非保留 - - COUNT - 非保留 保留 CREATE 保留 保留 保留 CROSS 保留(可以是函数或类型) 保留 保留 CS V 非保留 - - CUBE - 保留 - CURRENT 非保留 保留 保留 CURRENT_CATALOG 保留 - - CURRENT_DATE 保留 保留 保留 CURRENT_PATH - 保留 - CURRENT_ROLE 保留 保留 - CURRENT_SCHEMA 保留(可以是函数或类型) - - CURRENT_TIME 保留 保留 保留 CURRENT_TIMESTAMP 保留 保留 保留 CURRENT_USER 保留 保留 保留 CURSOR 非保留 保留 保留 CURSOR_NAME - 非保留 非保留 CYCLE 非保留 保留 - DATA 非保留 保留 非保留 DATE_FORMAT 非保留 - - DATABASE 非保留 - - DATAFILE 非保留 - - DATE 非保留(不能是函数或类型) 保留 保留 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 非保留 保留 保留 DYNAMIC - 保留 - DYNAMIC_FUNCTION - 非保留 非保留 DYNAMIC_FUNCTION_CODE - 非保留 - EACH 非保留 保留 - ELASTIC 非保留 - - ELSE 保留 保留 保留 ENABLE 非保留 - - ENCODING 非保留 - - ENCRYPTED 非保留 - - END 保留 保留 保留 END-EXEC - 保留 保留 ENFORCED 非保留 - - ENUM 非保留 - - EOL 非保留 - - EQUALS - 保留 - ERRORS 非保留 - - ESCAPE 非保留 保留 保留 ESCAPING 非保留 - - EVERY 非保留 保留 - EXCEPT 保留 保留 保留 EXCEPTION - 保留 保留 EXCHANGE 非保留 - - EXCLUDE 非保留 - - EXCLUDING 非保留 - - EXCLUSIVE 非保留 - - EXEC - 保留 保留 EXECUTE 非保留 保留 保留 EXISTING - 非保留 - EXISTS 非保留(不能是函数或类型) 非保留 保留 EXPIRATION 非保留 - - EXPLAIN 非保留 - - EXTENSION 非保留 - - EXTERNAL 非保留 保留 保留 EXTRACT 非保留(不能是函数或类型) 非保留 保留 FALSE 保留 保留 保留 FAMILY 非保留 - - FAST 非保留 - - FENCED 非保留 - - FETCH 保留 保留 保留 FILEHEADER 非保留 - - FILL_MISSING_FIELDS 非保留 - - FINAL - 非保留 - FIRST 非保留 保留 保留 FIXED 非保留 保留 保留 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 - 保留 - HANDLER 非保留 - - HAVING 保留 保留 保留 HEADER 非保留 - - HIERARCHY - 非保留 - HOLD 非保留 非保留 - HOST - 保留 - HOUR 非保留 保留 保留 IDENTIFIED 非保留 - - IDENTITY 非保留 保留 保留 IF 非保留(不能是函数或类型) - - IFNULL 非保留(不能是函数或类型) - - IGNORE - 保留 - IGNORE_EXTRA_DATA 非保留 - - ILIKE 保留(可以是函数或类型) - - IMMEDIATE 非保留 保留 保留 IMMUTABLE 非保留 - - IMPLEMENTATION - 非保留 - IMPLICIT 非保留 - - IN 保留 保留 保留 INCLUDING 非保留 - - INCREMENT 非保留 - - INDEX 非保留 - - INDEXES 非保留 - - INDICATOR - 保留 保留 INFIX - 非保留 - INHERIT 非保留 - - INHERITS 非保留 - - INITIAL 非保留 - - INITIALIZE - 保留 - INITIALLY 保留 保留 保留 INITRANS 非保留 - - INLINE 非保留 - - INNER 保留(可以是函数或类型) 保留 保留 INOUT 非保留(不能是函数或类型) 保留 - INPUT 非保留 保留 保留 INSENSITIVE 非保留 非保留 保留 INSERT 非保留 保留 保留 INSTANCE - 非保留 - INSTANTIABLE - 非保留 - INSTEAD 非保留 - - INT 非保留(不能是函数或类型) 保留 保留 INTEGER 非保留(不能是函数或类型) 保留 保留 INTERNAL 保留 - - INTERSECT 保留 保留 保留 INTERVAL 非保留(不能是函数或类型) 保留 保留 INTO 保留 保留 保留 INVOKER 非保留 非保留 - IS 保留 保留 保留 ISNULL 非保留(不能是函数或类型) - - ISOLATION 非保留 保留 保留 ITERATE - 保留 - JOIN 保留(可以是函数或类型) 保留 保留 K - 非保留 - KEY 非保留 保留 保留 KEY_MEMBER - 非保留 - KEY_TYPE - 非保留 - LABEL 非保留 - - LANGUAGE 非保留 保留 保留 LARGE 非保留 保留 - LAST 非保留 保留 保留 LATERAL - 保留 - LC_COLLATE 非保留 - - LC_CTYPE 非保留 - - LEADING 保留 保留 保留 LEAKPROOF 非保留 - - LEAST 非保留(不能是函数或类型) - - LEFT 保留(可以是函数或类型) 保留 保留 LENGTH - 非保留 非保留 LESS 保留 保留 - LEVEL 非保留 保留 保留 LIKE 保留(可以是函数或类型) 保留 保留 LIMIT 保留 保留 - LISTEN 非保留 - - LOAD 非保留 - - LOCAL 非保留 保留 保留 LOCALTIME 保留 保留 - LOCALTIMESTAMP 保留 保留 - LOCATION 非保留 - - LOCATOR - 保留 - LOCK 非保留 - - LOG 非保留 - - LOGGING 非保留 - - LOGIN 非保留 - - LOOP 非保留 - - LOWER - 非保留 保留 M - 非保留 - MAP - 保留 - MAPPING 非保留 - - MATCH 非保留 保留 保留 MATCHED 非保留 - - MATERIALIZED 非保留 - - MAX - 非保留 保留 MAXEXTENTS 非保留 - - MAXSIZE 非保留 - - MAXTRANS 非保留 - - MAXVALUE 保留 - - MERGE 非保留 - - MESSAGE_LENGTH - 非保留 非保留 MESSAGE_OCTET_LENGTH - 非保留 非保留 MESSAGE_TEXT - 非保留 非保留 METHOD - 非保留 - MIN - 非保留 保留 MINEXTENTS 非保留 - - MINUS 保留 - - MINUTE 非保留 保留 保留 MINVALUE 非保留 - - MOD - 非保留 - MODE 非保留 - - MODIFIES - 保留 - MODIFY 保留 保留 - MODULE - 保留 保留 MONTH 非保留 保留 保留 MORE - 非保留 非保留 MOVE 非保留 - - MOVEMENT 非保留 - - MUMPS - 非保留 非保留 NAME 非保留 非保留 非保留 NAMES 非保留 保留 保留 NATIONAL 非保留(不能是函数或类型) 保留 保留 NATURAL 保留(可以是函数或类型) 保留 保留 NCHAR 非保留(不能是函数或类型) 保留 保留 NCLOB - 保留 - NEW - 保留 - NEXT 非保留 保留 保留 NLSSORT 保留 - - NO 非保留 保留 保留 NOCOMPRESS 非保留 - - NOCYCLE 非保留 - - NODE 非保留 - - NOLOGGING 非保留 - - NOLOGIN 非保留 - - NOMAXVALUE 非保留 - - NOMINVALUE 非保留 - - NONE 非保留(不能是函数或类型) 保留 - NOT 保留 保留 保留 NOTHING 非保留 - - NOTIFY 非保留 - - NOTNULL 保留(可以是函数或类型) - - NOWAIT 非保留 - - NULL 保留 保留 保留 NULLABLE - 非保留 非保留 NULLIF 非保留(不能是函数或类型) 非保留 保留 NULLS 非保留 - - NUMBER 非保留(不能是函数或类型) 非保留 非保留 NUMERIC 非保留(不能是函数或类型) 保留 保留 NUMSTR 非保留 - - NVARCHAR2 非保留(不能是函数或类型) - - NVL 非保留(不能是函数或类型) - - OBJECT 非保留 保留 - OCTET_LENGTH - 非保留 保留 OF 非保留 保留 保留 OFF 非保留 保留 - OFFSET 保留 - - OIDS 非保留 - - OLD - 保留 - ON 保留 保留 保留 ONLY 保留 保留 保留 OPEN - 保留 保留 OPERATION - 保留 - OPERATOR 非保留 - - OPTIMIZATION 非保留 - - OPTION 非保留 保留 保留 OPTIONS 非保留 非保留 - OR 保留 保留 保留 ORDER 保留 保留 保留 ORDINALITY - 保留 - OUT 非保留(不能是函数或类型) 保留 - OUTER 保留(可以是函数或类型) 保留 保留 OUTPUT - 保留 保留 OVER 非保留 - - OVERLAPS 保留(可以是函数或类型) 非保留 保留 OVERLAY 非保留(不能是函数或类型) 非保留 - OVERRIDING - 非保留 - OWNED 非保留 - - OWNER 非保留 - - PACKAGE 非保留 - - PAD - 保留 保留 PA RAM ETER - 保留 - PARAMETERS - 保留 - PARAMETER_MODE - 非保留 - PARAMETER_NAME - 非保留 - PARAMETER_ORDINAL_POSITION - 非保留 - PARAMETER_SPECIFIC_CATALOG - 非保留 - PARAMETER_SPECIFIC_NAME - 非保留 - PARAMETER_SPECIFIC_SCHEMA - 非保留 - PARSER 非保留 - - PARTIAL 非保留 保留 保留 PARTITION 非保留 - - PARTITIONS 非保留 - - PASCAL - 非保留 非保留 PASSING 非保留 - - PASSWORD 非保留 - - PATH - 保留 - PCTFREE 非保留 - - PER 非保留 - - PERM 非保留 - - PERCENT 非保留 - - PERFORMANCE 保留 - - PLACING 保留 - - PLAN 保留 - - PLANS 非保留 - - PLI - 非保留 非保留 POLICY 非保留 - - POOL 非保留 - - POSITION 非保留(不能是函数或类型) 非保留 保留 POSTFIX - 保留 - PRECEDING 非保留 - - PRECISION 非保留(不能是函数或类型) 保留 保留 PREFERRED 非保留 - - PREFIX 非保留 保留 - PREORDER - 保留 - PREPARE 非保留 保留 保留 PREPARED 非保留 - - PRESERVE 非保留 保留 保留 PRIMARY 保留 保留 保留 PRIOR 非保留 保留 保留 PRIVATE 非保留 - - PRIVILEGE 非保留 - - PRIVILEGES 非保留 保留 保留 PROCEDURAL 非保留 - - PROCEDURE 保留 保留 保留 PROFILE 非保留 - - PUBLIC - 保留 保留 QUERY 非保留 - - QUOTE 非保留 - - RANGE 非保留 - - RAW 非保留 - - READ 非保留 保留 保留 READS - 保留 - REAL 非保留(不能是函数或类型) 保留 保留 REASSIGN 非保留 - - REBUILD 非保留 - - RECHECK 非保留 - - RECURSIVE 非保留 保留 - REF 非保留 保留 - REFRESH 非保留 - - REFERENCES 保留 保留 保留 REFERENCING - 保留 - REINDEX 非保留 - - REJECT 保留 - - RELATIVE 非保留 保留 保留 RELEASE 非保留 - - RELOPTIONS 非保留 - - REMOTE 非保留 - - RENAME 非保留 - - REPEATABLE 非保留 非保留 非保留 REPLACE 非保留 - - REPLICA 非保留 - - RESET 非保留 - - RESIZE 非保留 - - RESOURCE 非保留 - - RESTART 非保留 - - RESTRICT 非保留 保留 保留 RESULT - 保留 - RETURN 非保留 保留 - RETURNED_LENGTH - 非保留 非保留 RETURNED_OCTET_LENGTH - 非保留 非保留 RETURNED_SQLSTATE - 非保留 非保留 RETURNING 保留 - - RETURNS 非保留 保留 - REUSE 非保留 - - REVOKE 非保留 保留 保留 RIGHT 保留(可以是函数或类型) 保留 保留 ROLE 非保留 保留 - ROLLBACK 非保留 保留 保留 ROLLUP - 保留 - ROUTINE - 保留 - ROUTINE_CATALOG - 非保留 - ROUTINE_NAME - 非保留 - ROUTINE_SCHEMA - 非保留 - ROW 非保留(不能是函数或类型) 保留 - ROWS 非保留 保留 保留 ROW_COUNT - 非保留 非保留 RULE 非保留 - - SAVEPOINT 非保留 保留 - SCALE - 非保留 非保留 SCHEMA 非保留 保留 保留 SCHEMA_NAME - 非保留 非保留 SCOPE - 保留 - SCROLL 非保留 保留 保留 SEARCH 非保留 保留 - SECOND 非保留 保留 保留 SECTION - 保留 保留 SECURITY 非保留 非保留 - SELECT 保留 保留 保留 SELF - 非保留 - SENSITIVE - 非保留 - SEPARATOR 非保留 - - SEQUENCE 非保留 保留 - SEQUENCES 非保留 - - SERIALIZABLE 非保留 非保留 非保留 SERVER 非保留 - - SERVER_NAME - 非保留 非保留 SESSION 非保留 保留 保留 SESSION_USER 保留 保留 保留 SET 非保留 保留 保留 SETOF 非保留(不能是函数或类型) - - SETS - 保留 - SHARE 非保留 - - SHIPPABLE 非保留 - - SHOW 非保留 - - SIMILAR 保留(可以是函数或类型) 非保留 - SIMPLE 非保留 非保留 - SIZE 非保留 保留 保留 SMALLDATETIME 非保留(不能是函数或类型) - - SMALLDATETIME_FORMAT 非保留 - - SMALLINT 非保留(不能是函数或类型) 保留 保留 SNAPSHOT 非保留 - - SOME 保留 保留 保留 SOURCE 非保留 非保留 - SPACE - 保留 保留 SPECIFIC - 保留 - SPECIFICTYPE - 保留 - SPECIFIC_NAME - 非保留 - SPILL 非保留 - - SPLIT 非保留 - - SQL - 保留 保留 SQLCODE - - 保留 SQLERROR - - 保留 SQLEXCEPTION - 保留 - SQLSTATE - 保留 保留 SQLWARNING - 保留 - STABLE 非保留 - - STANDALONE 非保留 - - START 非保留 保留 - STATE - 保留 - STATEMENT 非保留 保留 - STATEMENT_ID 非保留 - - STATIC - 保留 - STATISTICS 非保留 - - STDIN 非保留 - - STDOUT 非保留 - - STORAGE 非保留 - - STORE 非保留 - - STRICT 非保留 - - STRIP 非保留 - - STRUCTURE - 保留 - STYLE - 非保留 - SUBCLASS_ORIGIN - 非保留 非保留 SUBLIST - 非保留 - SUBSTRING 非保留(不能是函数或类型) 非保留 保留 SUM - 非保留 保留 SUPERUSER 非保留 - - SYMMETRIC 保留 非保留 - SYNONYM 非保留 - - SYS_REFCURSOR 非保留 - - SYSDATE 保留 - - SYSID 非保留 - - SYSTEM 非保留 非保留 - SYSTEM_USER - 保留 保留 TABLE 保留 保留 保留 TABLES 非保留 - - TABLE_NAME - 非保留 非保留 TEMP 非保留 - - TEMPLATE 非保留 - - TEMPORARY 非保留 保留 保留 TERMINATE - 保留 - TEXT 非保留 - - THAN 非保留 保留 - THEN 保留 保留 保留 TIME 非保留(不能是函数或类型) 保留 保留 TIME_FORMAT 非保留 - - TIMESTAMP 非保留(不能是函数或类型) 保留 保留 TIMESTAMPADD 非保留(不能是函数或类型) - - TIMESTAMPDIFF 非保留(不能是函数或类型) - - TIMESTAMP_FORMAT 非保留 - - TIMEZONE_HOUR - 保留 保留 TIMEZONE_MINUTE - 保留 保留 TINYINT 非保留(不能是函数或类型) - - TO 保留 保留 保留 TRAILING 保留 保留 保留 TRANSACTION 非保留 保留 保留 TRANSACTIONS_COMMITTED - 非保留 - TRANSACTIONS_ROLLED_BACK - 非保留 - TRANSACTION_ACTIVE - 非保留 - TRANSFORM - 非保留 - TRANSFO RMS - 非保留 - TRANSLATE - 非保留 保留 TRANSLATION - 保留 保留 TREAT 非保留(不能是函数或类型) 保留 - TRIGGER 非保留 保留 - TRIGGER_CATALOG - 非保留 - TRIGGER_NAME - 非保留 - TRIGGER_SCHEMA - 非保留 - TRIM 非保留(不能是函数或类型) 非保留 保留 TRUE 保留 保留 保留 TRUNCATE 非保留 - - TRUSTED 非保留 - - TRY_CAST 非保留 - - TSTAG 保留,该字段仅在IoT数仓中使用 - - TSTIME 保留,该字段仅在IoT数仓中使用 - - TSFIELD 保留,该字段仅在IoT数仓中使用 - - TYPE 非保留 非保留 非保留 TYPES 非保留 - - UESCAPE - - - UNBOUNDED 非保留 - - UNCOMMITTED 非保留 非保留 非保留 UNDER - 保留 - UNENCRYPTED 非保留 - - UNION 保留 保留 保留 UNIQUE 保留 保留 保留 UNKNOWN 非保留 保留 保留 UNLIMITED 非保留 - - UNLISTEN 非保留 - - UNLOCK 非保留 - - UNLOGGED 非保留 - - UNNAMED - 非保留 非保留 UNNEST - 保留 - UNTIL 非保留 - - UNUSABLE 非保留 - - UPDATE 非保留 保留 保留 UPPER - 非保留 保留 USAGE - 保留 保留 USER 保留 保留 保留 USER_DEFINED_TYPE_CATALOG - 非保留 - USER_DEFINED_TYPE_NAME - 非保留 - USER_DEFINED_TYPE_SCHEMA - 非保留 - USING 保留 保留 保留 VACUUM 非保留 - - VALID 非保留 - - VALIDATE 非保留 - - VALIDATION 非保留 - - VALIDATOR 非保留 - - VALUE 非保留 保留 保留 VALUES 非保留(不能是函数或类型) 保留 保留 VARCHAR 非保留(不能是函数或类型) 保留 保留 VARCHAR2 非保留(不能是函数或类型) - - VARIABLE - 保留 - VARIADIC 保留 - - VARYING 非保留 保留 保留 VCGROUP 非保留 - - VERBOSE 保留(可以是函数或类型) - - VERIFY 非保留 - - VERSION 非保留 - - VIEW 非保留 保留 保留 VOLATILE 非保留 - - WHEN 保留 保留 保留 WHENEVER - 保留 保留 WHERE 保留 保留 保留 WHITESPACE 非保留 - - WINDOW 保留 - - WITH 保留 保留 保留 WITHIN 非保留 - - WITHOUT 非保留 保留 - WORK 非保留 保留 保留 WORKLOAD 非保留 - - WRAPPER 非保留 - - WRITE 非保留 保留 保留 XML 非保留 - - XMLATTRIBUTES 非保留(不能是函数或类型) - - XMLCONCAT 非保留(不能是函数或类型) - - XMLELEMENT 非保留(不能是函数或类型) - - XMLEXISTS 非保留(不能是函数或类型) - - XMLFOREST 非保留(不能是函数或类型) - - XMLNAMESPACES 非保留(不能是函数或类型) - - XMLPARSE 非保留(不能是函数或类型) - - XMLPI 非保留(不能是函数或类型) - - XMLROOT 非保留(不能是函数或类型) - - XMLSERIALIZE 非保留(不能是函数或类型) - - XMLTABLE 非保留(不能是函数或类型) - - YEAR 非保留 保留 保留 YES 非保留 - - ZONE 非保留 保留 保留 父主题: SQL语法参考
  • SELECT语句创建 使用指定的表引擎创建一个与SELECT子句的结果具有相同结构的表,并使用SELECT子句的结果进行填充。 CREATE TABLE [IF NOT EXISTS] [database_name.]table_name ENGINE = engine_name AS SELECT ... 表3 参数说明 参数 说明 database_name 数据库的名称,默认为当前选择的数据库。 table_name 通过SELECT语句创建的表。 ENGINE = engine_name() 表的引擎类型。 SELECT ... SELECT子句。 示例: 创建表。 CREATE TABLE default.demo1 ON CLUSTER default_cluster( `EventDate` DateTime, `id` UInt64)ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/default/demo1', '{replica}') PARTITION BY toYYYYMM(EventDate) ORDER BY id; 通过SELECT语句创建表。 create table t3 ON CLUSTER default_cluster ENGINE =MergeTree() order by EventDate as select * from default.demo1; 查询demo1和t3表结构。 desc demo1; 查询结果显示,两张表结构一样。 cloudtable-wlr-click-20230730-06-server-1-1 :) desc demo1; DESCRIBE TABLE demo1 Query id: 712f6b91-668d-4f70-b160-aac8e52f63a4 ┌─name──────┬─type─────┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐ │ EventDate │ DateTime │ │ │ │ │ │ │ id │ UInt64 │ │ │ │ │ │ └───────────┴──────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘ 2 rows in set. Elapsed: 0.001 sec. cloudtable-wlr-click-20230730-06-server-1-1 :) desc t3; DESCRIBE TABLE t3 Query id: 11b67532-26f0-49c5-b36d-439d45c279bf ┌─name──────┬─type─────┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐ │ EventDate │ DateTime │ │ │ │ │ │ │ id │ UInt64 │ │ │ │ │ │ └───────────┴──────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘ 2 rows in set. Elapsed: 0.001 sec.
  • 创建本地表 CREATE TABLE [IF NOT EXISTS] [database_name.]table_name [ON CLUSTER ClickHouse集群名] ( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1], name2[type2] [DEFAULT|MATERIALIZED|ALIAS expr2], ... ) ENGINE = engine_name() [PARTITION BY expr_list] [ORDER BY expr_list] 表1 参数说明 参数 说明 database_name 数据库的名称,默认为当前选择的数据库。 table_name 本地表名。 ON CLUSTERClickHouse集群名 在每一个节点上都创建一个本地表,固定为ON CLUSTER ClickHouse集群名。 name1,name2 列名。 ENGINE = engine_name() 表引擎类型。 双副本版集群建表时,需要使用MergeTree系列引擎中支持数据复制的Replicated*引擎,否则副本之间不进行数据复制,导致数据查询结果不一致。使用该引擎建表时,参数填写方式如下。 ReplicatedMergeTree('/clickhouse/tables/{database}/{table}/{shard}', '{replica}'),固定配置,无需修改。 ReplicatedMergeTree(),等同于ReplicatedMergeTree('/clickhouse/tables/{database}/{table}/{shard}', '{replica}')。 ORDER BY expr_list 排序键,必填项,可以是一组列的元组或任意表达式。 [PARTITION BY expr_list] 分区键。一般按照日期分区,也可以使用其他字段或字段表达式。 示例: 创建数据库。请参见CREATE DATABASE。 使用数据库。 use demo; 创建名为demo.test表。 CREATE TABLE demo.test ON CLUSTER default_cluster(`EventDate` DateTime, `id` UInt64)ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/default/test', '{replica}') PARTITION BY toYYYYMM(EventDate) ORDER BY id;
  • 复制表结构创建表 可以通过复制表结构创建与源表具有相同结构的表。语法: CREATE TABLE [IF NOT EXISTS] [db.]table_name2 ON CLUSTER ClickHouse集群名 AS [db.]table_name1 [ENGINE = engine_name]; 表2 参数说明 参数 说明 db 数据库的名称,默认为当前选择的数据库。 table_name1 被复制表结构的源表。 table_name2 新创建的表。 ON CLUSTER ClickHouse集群名 在每一个节点上都创建一个表,固定为ON CLUSTER ClickHouse集群名。 [ENGINE = engine_name] 表引擎类型。如果没有指定表引擎,默认与被复制表结构的表相同。 示例: 创建数据库。 create database demo; 使用数据库。 use demo; 创建数据表。 create table demo_t(uid Int32,name String,age UInt32,gender String)engine = TinyLog; 复制表结构。 create table demo_t2 as demo_t; 查看表结构。
  • 参数说明 nodename 节点名,对应在pgxc_node系统表的一行记录,指定后将修改记录中的nodeis_active字段值。 取值范围:字符串,只支持CN,并且要保证该节点名在pgxc_node系统表中有对应的记录。 status pgxc_node系统表中nodeis_active字段的更新值。 取值范围: - FALSE - TRUE nodename1[, nodename2, nodename3 ...] 该SQL执行的节点范围,ALTER COORDINATOR执行时会自动下发到范围内的所有节点,需要包含当前执行节点。 取值范围:字符串,只支持CN,要保证该节点名在pgxc_node系统表中有对应的记录,并且节点状态正常,否则SQL执行失败。
  • 示例 集群有3个CN,cn_5001、cn_5002、cn_5003,均处于正常工作状态。 cn_5001发生故障且满足剔除时间要求后,需要将cn_5001从集群中剔除,执行SQL在cn_5002和cn_5003节点上刷新pgxc_node系统表中cn_5001对应记录的nodeis_active为false: ALTER COORDINATOR cn_5001 SET False WITH (cn_5002,cn_5003); cn_5001故障解除后,为了在集群中加回cn_5001,执行SQL在cn_5002和cn_5003节点上刷新pgxc_node系统表中cn_5001对应记录的nodeis_active为true: ALTER COORDINATOR cn_5001 SET True WITH (cn_5002,cn_5003);
  • 定义物化视图 表31 物化视图定义相关SQL 功能 相关SQL 创建一个全量物化视图 CREATE MATERIALIZED VIEW 创建一个增量物化视图 CREATE INCREMENTAL MATERIALIZED VIEW 更改一个现有物化视图的多个辅助属性 ALTER MATERIALIZED VIEW 强制删除数据库中已有的物化视图 DROP MATERIALIZED VIEW 以全量刷新的方式对物化视图进行刷新 REFRESH MATERIALIZED VIEW 以增量刷新的方式对物化视图进行刷新 REFRESH INCREMENTAL MATERIALIZED VIEW
  • 导入DATABASE/TABLE/PDB 表43 导入准备相关SQL 功能 相关SQL 导入DATABASE的准备阶段 IMPDP DATABASE CREATE 导入DATABASE的执行阶段 IMPDP RECOVER 导入表的准备阶段 IMPDP TABLE PREPARE 导入表的执行阶段 IMPDP TABLE 导入PDB的执行阶段 IMPDP PLUGGABLE DATABASE CREATE 导入PDB的修复阶段 IMPDP PLUGGABLE DATABASE RECOVER
  • 系统表gs_global_config相关SQL 表27 系统表gs_global_config相关SQL 功能 相关SQL 新增、修改系统表gs_global_config的参数值 ALTER GLOBAL CONFIGURATION 删除系统表gs_global_config中的参数值 DROP GLOBAL CONFIGURATION 向系统表gs_global_config中插入一个或者多个弱口令 CREATE WEAK PASSWORD DICTIONARY 清空系统表gs_global_config中的所有弱口令 DROP WEAK PASSWORD DICTIONARY
  • 定义列加密密钥 列加密密钥主要用于密态数据库特性中,用来加密数据。列加密密钥定义主要包括创建列加密密钥、轮转加密列加密密钥的客户端主密钥以及删除列加密密钥。所涉及的SQL语句,如表4所示。 表4 列加密密钥定义相关SQL 功能 相关SQL 创建列加密密钥 CREATE COLUMN ENCRYPTION KEY 修改列加密密钥指定的客户端主密钥 ALTER COLUMN ENCRYPTION KEY 删除列加密密钥 DROP COLUMN ENCRYPTION KEY
  • 定义DATABASE LINK对象 DATABASE LINK是可以操作远程数据库对象,所涉及的SQL语句,如表22所示。 表22 DATABASE LINK对象相关SQL 功能 相关SQL 创建一个新的DATABASE LINK对象 CREATE DATABASE LINK 修改DATABASE LINK对象 ALTER DATABASE LINK 删除DATABASE LINK对象 DROP DATABASE LINK
  • 定义分区表 分区表是一种逻辑表,数据是由普通表存储的,主要用于提升查询性能。所涉及的SQL语句,如表9所示。 表9 分区表定义相关SQL 功能 相关SQL 创建分区表 CREATE TABLE PARTITION 修改分区表(包括增加/删除分区以及修改分区属性等) ALTER TABLE PARTITION 删除分区表 DROP TABLE 创建二级分区表 CREATE TABLE SUBPARTITION 修改二级分区表分区 ALTER TABLE SUBPARTITION 根据查询结果创建分区表 CREATE TABLE PARTITION | SUBPARTITION AS
  • 事务相关SQL 表1 事务相关SQL 功能 相关SQL 回滚当前事务并且撤销所有当前事务中所做的更改。 ABORT ROLLBACK 开始一个事务/启动事务。 BEGIN SET TRANSACTION START TRANSACTION 设置事务日志检查点。 CHECKPOINT 提交当前事务。 COMMIT | END 提交一个早先为两阶段提交准备好的事务。 COMMIT PREPARED 为当前事务做两阶段提交的准备。 PREPARE TRANSACTION 删除一个当前事务先前定义的保存点。 RELEASE SAVEPOINT 取消一个先前为两阶段提交准备好的事务。 ROLLBACK PREPARED 回滚到一个保存点。 ROLLBACK TO SAVEPOINT 在当前事务里建立一个新的保存点。 SAVEPOINT 设置当前事务检查行为的约束条件。 SET CONSTRAINTS
  • Online DDL及其操作 传统DDL操作执行期间表无法对外提供读写服务,因此可能导致长时间业务中断。在线DDL支持对正常业务影响较小的情况下进行DDL操作,以减少对业务的影响,提高业务运行的连续性和数据库的可用性。 在线DDL支持通过“ONLINE 关键字”的方式实现在线修改列类型、精度、长度缩减、char类型长度扩长、表级在线移动表空间、在线加非空/检查/主键/唯一约束、在线VACUUM FULL。在线DDL仅在执行前期和后期短暂加排他锁,不会长时间阻塞并发读写业务。请参见ALTER TABLE和VACUUM。 当前支持的Online DDL如表1所示。 表1 当前版本支持的Online DDL介绍 分类 操作 耗时 备注 列操作 支持以下相关操作: 添加列:设置列默认值为表达式。 删除列。 重命名列。 设置和删除列的默认值。 修改列长度。 修改列精度。 修改列类型。 修改ENUM/SET列定义。 当需要重整数据时,耗时与数据量相关。 当仅修改元数据时,耗时与数据量无关。 修改列类型、精度、长度缩减和CHAR类型长度扩长时,需要结合ONLINE关键字实现。 表操作 支持以下相关操作: 表级在线移动表空间。 重命名表。 指定字符集。 删除表。 当需要移动数据时,耗时与数据量相关。 当仅修改元数据时,耗时与数据量无关。 表级在线移动表空间时,需要结合ONLINE关键字实现。 表空间操作 支持以下相关操作: 重命名表空间。 修改表空间所有者。 删除表空间。 仅修改元数据时,耗时与数据量无关。 - 约束操作 支持以下相关操作: 添加非空、检查、唯一、主键约束。 设置列约束为NULL。 当需要查询数据时,耗时与数据量相关。 当仅修改元数据时,耗时与数据量无关。 添加非空、检查、唯一、主键约束时,需要结合ONLINE关键字。 分区操作 支持添加分区、删除分区、截断分区、行迁移开关、设置分区索引不可用。 仅修改元数据时,耗时与数据量无关。 - 回收存储空间 VACUUM FULL 需要重整数据,耗时与数据量相关。 回收存储空间时,需要结合ONLINE关键字实现。 索引操作 支持创建索引CONCURRENTLY、重建索引CONCURRENTLY。 需要查询数据,耗时与数据量相关。 索引相关操作,请参见CREATE INDEX、REINDEX。 父主题: SQL语法
  • SQL语法格式说明 表1 SQL语法格式说明 格式 意义 [ ] 表示用“[ ]”括起来的部分是可选的。 ... 表示前面的元素可重复出现。 [ x | y | ... ] 表示从两个或多个选项中选取一个或者不选。 { x | y | ... } 表示从两个或多个选项中选取一个。 [x | y | ... ] [ ... ] 表示可选多个参数或者不选,如果选择多个参数,则参数之间用空格分隔。 [ x | y | ... ] [ ,... ] 表示可选多个参数或者不选,如果选择多个参数,则参数之间用逗号分隔。 { x | y | ... } [ ... ] 表示可选多个参数,至少选一个,如果选择多个参数,则参数之间以空格分隔。 { x | y | ... } [ ,... ] 表示可选多个参数,至少选一个,如果选择多个参数,则参数之间用逗号分隔。 父主题: SQL语法