云服务器内容精选

  • 关键字 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; 查看表结构。
  • 语法支持的类型 SecMaster SQL语法支持的类型如下: STRING,BOOLEAN,BYTES,DECIMAL,TINYINT,SMALLINT,INTEGER,BIGINT,FLOAT,DOUBLE,DATE,TIME,TIMESTAMP,TIMESTAMP WITH LOCAL TIME ZONE,INTERVAL,ARRAY,MULTISET,MAP,ROW。 注意事项 SecMaster SQL兼容Flink 1.7.2版本SQL语法。 Flink SQL 对于标识符(表、属性、函数名)有类似于 Java 的词法约定: 不管是否引用标识符,都保留标识符的大小写。 且标识符需区分大小写。 与 Java 不一样的地方在于,通过反引号,可以允许标识符带有非字母的字符(如:"SELECT a AS `my field` FROM t")。 字符串文本常量需要被单引号包起来(如 SELECT 'Hello World' )。两个单引号表示转义(如 SELECT 'It''s me.')。字符串文本常量支持 Unicode 字符,如需明确使用 Unicode 编码,请使用以下语法: 使用反斜杠(\)作为转义字符(默认):SELECT U&'\263A' 使用自定义的转义字符: SELECT U&'#263A' UESCAPE '#' 慎用正则函数(REGEXP) 正则表达式是非常耗时的操作,对比加减乘除通常有百倍的性能开销,而且正则表达式在某些极端情况下可能会进入无限循环,导致作业阻塞,因此建议使用LIKE。正则函数包括: REGEXP REGEXP_REPLACE 父主题: SecMaster SQL语法参考
  • 约束 支持在Hudi客户端执行Spark SQL操作Hudi。 支持在Spark2x的JD BCS erver中执行Spark SQL操作Hudi。 不支持在Spark2x的客户端执行Spark SQL操作Hudi,支持在Spark3.1.1及之后版本的客户端执行Spark SQL操作Hudi。 不支持在Hive、Hetu引擎中写hudi表,以及修改hudi表结构,仅支持读。 由于SQL的KeyGenerator默认是org.apache.hudi.keygen.ComplexKeyGenerator,要求DataSource方式写入时KeyGenerator与SQL设置的一致。
  • 使用约束 新增列在设置默认值前,如果数据已经进行了重写,则查询历史数据不支持返回列的默认值,返回NULL。数据入库、更新、执行Compaction、Clustering都会导致部分或全部数据重写。 列的默认值设置要与列的类型一致,如不一致会进行类型强转,导致默认值精度丢失或者默认值为NULL。 历史数据的默认值与列第一次设置的默认值一致,多次修改列的默认值不会影响历史数据的查询结果。 设置默认值后rollback不能回滚默认值配置。 Spark SQL暂不支持查看列默认值信息,可以通过执行show create table SQL查看。 不支持默认缺省列的写入方式,写入时必须指定列名。
  • 示例 SQL语法具体参考 DLI Hudi SQL语法参考章节。 示例: 建表指定列默认值 create table if not exists h3(id bigint,name string,price double default 12.34) using hudioptions (primaryKey = 'id',type = 'mor',preCombineField = 'name'); 添加列指定列默认值 alter table h3 add columns(col1 string default 'col1_value');alter table h3 add columns(col2 string default 'col2_value', col3 int default 1); 修改列默认值 alter table h3 alter column price set default 14.56; 插入数据使用列默认值,需要指定写入的列名,和插入的数据一一对应 insert into h3(id, name) values(1, 'aaa');insert into h3(id, name, price) select 2, 'bbb', 12.5;