云服务器内容精选
-
语法支持类型 DLI SQL语法支持以下数据类型: STRING,BOOLEAN,BYTES,DECIMAL,TINYINT,SMALLINT,INTEGER,BIGINT,FLOAT,DOUBLE,DATE,TIME,TIMESTAMP,TIMESTAMP WITH LOCAL TIME ZONE,INTERVAL,ARRAY,MULTISET,MAP,ROW 在SQL语法中这些类型用于定义表中列的数据类型。 父主题: SQL语法约束与定义
-
DML语法 不支持PARTITION子句。 不支持UPDATE使用子查询。 不支持INSERT DELAYED Syntax。 不支持STRAIGHT_JOIN和NATURAL JOIN。 受限支持跨分片UPDATE多表需要join update的表需要有PK。 受限支持跨分片DELETE多表中的数据,需要Join delete的表需要有PK。 不支持SQL中对于变量的引用和操作。 例如: SET @c=1, @d=@c+1; SELECT @c, @d; INSERT或者UPDATE时,不支持插入或者更新拆分键值为DEFAULT关键字。 UPDATE不支持在一个语句中对同一字段重复更新。 UPDATE不支持关联更新拆分键。 UPDATE不支持自关联更新。 关联更新中,不支持在目标列的赋值语句或表达式中引用其它目标列,将造成更新结果不符合预期。 例如: update tbl_1 a,tbl_2 b set a.name=concat(b.name,'aaaa'),b.name=concat(a.name,'bbbb') on a.id=b.id; 当使用文本协议时,BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB数据必须转换成16进制数据。 DDM对非法数据的处理与后端MySQL的sql_mode有关。 关联更新不支持不带关联条件的Join。 SQL语句中表达式的因子数量请勿超过1000个。
-
注释说明 单行注释 使用井号(#)开头,后面直接写注释内容。#后面的所有内容直到行尾都被视为注释。 示例如下: SELECT * FROM customers; #注释内容 使用两个连续的短划线(--),但这种注释要求第二个短划线后面至少有一个空格符,否则可能不会被正确解析。 示例如下: SELECT * FROM Product; -- 注释内容 多行注释 以/*开始并且以*/结束,可以包含多行文本。这种方式允许注释跨越多行。 示例如下: /* 注释内容 */ SELECT DISTINCT product_id, purchase_price FROM Product;
-
DDL语法 拆分表和广播表不支持外键。 不支持修改分片字段(拆分键)。 不支持ALTER DATABASE Syntax。 不支持从另一张表创建新的拆分表、广播表。 create table不支持generated column语法。 不支持ALTER命令修改拆分键和全局序列字段。 不支持创建TEMPORARY类型的拆分表、广播表。 逻辑表名只允许字母(不区分大小写)数字以及下划线。 不支持CREATE TABLE tbl_name LIKE old_tbl_name。 不支持CREATE TABLE tbl_name SELECT statement。 不支持insert into on duplicate key update 更新拆分键值。 暂不支持跨Schema的DDL, 例如, CREATE TABLE db_name.tbl_name (… )。 使用MySQL关键字或保留字做表名、列名、索引名等标识符时,需要使用反引号扩起来。
-
MySQL EXPLAIN 当您在需要执行的SQL语句前加上EXPLAIN,然后执行SQL时,您将会看到其具体的执行计划,以此分析耗时,进而修改SQL,达到优化的效果。 表1 EXPLAIN列的解释 列名称 描述 table 显示该行数据所归属的表。 type 显示连接使用了何种类型。连接类型按照执行速度从快到慢排序为:const、eq_reg、ref、range、index、ALL。 possible_keys 显示可能应用在该表中的索引。 key 实际使用的索引。如果为NULL,则没有使用索引。个别情况下,MySQL会选择优化不足的索引。在SELECT语句中使用USE INDEX(indexname)来强制使用一个索引或者用IGNORE INDEX(indexname)来强制MySQL忽略索引。 key_len 使用的索引的长度。在不损失精确性的情况下,长度越短越好。 ref 显示索引被使用的列,通常为一个常数。 rows MySQL用来返回请求数据的行数。 Extra 关于MySQL如何解析查询的额外信息。
-
语法支持的类型 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语法参考
-
聚合模型示例 聚合列不支持修改聚合类型。 在col1列后添加new_col列(key列): ALTER TABLE example_db.my_table ADD COLUMN new_col INT DEFAULT "0" AFTER col1; 在col1后添加new_col列(Value列SUM聚合类型): ALTER TABLE example_db.my_table ADD COLUMN new_col INT SUM DEFAULT "0" AFTER col1; 修改col1列的类型为BIGINT(Key列): ALTER TABLE example_db.my_table MODIFY COLUMN col1 BIGINT DEFAULT "1"; 修改col1列的类型为BIGINT(Value列): ALTER TABLE example_db.my_table MODIFY COLUMN col1 BIGINT MAX DEFAULT "1"; 删除col1列: ALTER TABLE example_db.my_table DROP COLUMN col1;
-
非聚合模型示例 在col1列后添加new_col列(添加Key列): ALTER TABLE example_db.my_table ADD COLUMN new_col INT KEY DEFAULT "0" AFTER col1; 在col1列后添加new_col列(添加Value列): ALTER TABLE example_db.my_table ADD COLUMN new_col INT DEFAULT "0" AFTER col1; 修改col1列的类型为BIGINT(Key列): ALTER TABLE example_db.my_table MODIFY COLUMN col1 BIGINT KEY DEFAULT "1"; 修改col1列的类型为BIGINT(Value列): ALTER TABLE example_db.my_table MODIFY COLUMN col1 BIGINT DEFAULT "1"; 删除col1列: ALTER TABLE example_db.my_table DROP COLUMN col1;
-
约束 支持在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设置的一致。
-
基本语法 ALTER TABLE oldTableName RENAME TO newTableName; ALTER TABLE TableName SET TBLPROPERTIES; ALTER TABLE TableName ADD COLUMN; ALTER TABLE TableName RENAME COLUMN; ALTER TABLE TableName ALTER COLUMN; ALTER TABLE TableName DROP COLUMN; ALTER TABLE TableName ADD PARTITION FIELD; ALTER TABLE TableName DROP PARTITION FIELD; ALTER TABLE TableName REPLACE PARTITION FIELDALTER TABLE TableName WRITE ORDERED BY; 可空类型字段不能修改为非空类型字段, struct类型不支持修改字段。
-
使用示例 修改表增加属性值: ALTER TABLE prod.db.sample SET TBLPROPERTIES ( 'comment' = 'A table comment.' ); 修改表增加表字段: ALTER TABLE prod.db.sample ADD COLUMNS ( new_column string comment 'new_column docs' ); 修改表重命名表字段: ALTER TABLE prod.db.sample RENAME COLUMN data TO payload; 修改表字段类型: ALTER TABLE prod.db.sample ALTER COLUMN measurement TYPE double; 修改表删除表字段: ALTER TABLE prod.db.sample DROP COLUMN id;
-
示例 START TRANSACTION;START TRANSACTION ISOLATION LEVEL REPEATABLE READ;START TRANSACTION READ WRITE;START TRANSACTION ISOLATION LEVEL READ COMMITTED, READ ONLY;START TRANSACTION READ WRITE, ISOLATION LEVEL SERIALIZABLE; 不支持嵌套事务,也就是开启事务后,在commit之前不能再开启其他事务。
-
语法 INSERT { INTO | OVERWRITE } [TABLE] table_name [(column_list)] [ PARTITION (partition_clause)] {select_statement | VALUES (value [, value ...]) [, (value [, value ...]) ...] } FROM from_statement INSERT OVERWRITE TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...)] select_statement FROM from_statement INSERT INTO TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...)] select_statement
-
限制 如果数据表中只有一个字段,且字段类型为row、struct,那么插入数据时需要用row对类型进行包裹。 -- 单字段表插入复杂类型需要用row()包裹CREATE TABLE test_row (id row(c1 int, c2 string));INSERT INTO test_row values row(row(1, 'test'));--多字段表复杂类型可以直接插入CREATE TABLE test_multy_value(id int, col row(c1 int, c2 string));INSERT INTO test_multy_value values (1,row(1,'test'));
-
描述 向表中插入新的数据行。 如果指定了列名列表,那么这些列名列表必须与query语句产生列表名完全匹配。表中不在列名列表中的每一列,其值会设置为null。 如果没有指定列名列表,则query语句产生的列必须与将要插入的列完全匹配。 使用insert into时,会往表中追加数据,而使用insert overwrite时,如果表属性“auto.purge”被设置为“true”,直接删除原表数据,再写入新的数据。 如果对象表是分区表时,insert overwrite会删除对应分区的数据而非所有数据。 insert into后面的table关键字为可选,以兼容hive语法。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格