文档首页 > > SQL语法参考> DLI SQL语法概览

DLI SQL语法概览

分享
更新时间: 2020/01/16 GMT+08:00

数据库相关语法

表1 数据库相关语法

功能描述

语法格式

创建数据库

1
2
3
CREATE [DATABASE | SCHEMA] [IF NOT EXISTS] db_name
  [COMMENT db_comment]
  [WITH DBPROPERTIES (property_name=property_value, ...)];

删除数据库

1
DROP [DATABASE | SCHEMA] [IF EXISTS] db_name;

查看指定数据库

1
DESCRIBE DATABASE [EXTENDED] db_name;

查看所有数据库

1
SHOW [DATABASES | SCHEMAS] [LIKE regex_expression];

创建OBS表相关语法

表2 创建OBS表相关语法

功能描述

语法格式

使用DataSource语法创建OBS表

1
2
3
4
5
6
7
CREATE TABLE [IF NOT EXISTS] [db_name.]table_name 
  [(col_name1 col_type1 [COMMENT col_comment1], ...)]
  USING file_format 
  [OPTIONS (path 'obs_path', key1=val1, key2=val2, ...)] 
  [PARTITIONED BY (col_name1, col_name2, ...)]
  [COMMENT table_comment]
  [AS select_statement];

使用Hive语法创建OBS表

1
2
3
4
5
6
7
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name 
  [(col_name1 col_type1 [COMMENT col_comment1], ...)]
  [COMMENT table_comment] 
  [PARTITIONED BY (col_name2 col_type2, [COMMENT col_comment2], ...)] 
  STORED AS file_format 
  LOCATION 'obs_path'
  [AS select_statement];

创建DLI表相关语法

表3 创建DLI表相关语法

功能描述

语法格式

使用DataSource语法创建DLI表

1
2
3
4
5
6
7
CREATE TABLE [IF NOT EXISTS] [db_name.]table_name 
  [(col_name1 col_type1 [COMMENT col_comment1], ...)]
  USING file_format 
  [OPTIONS (key1=val1, key2=val2, ...)] 
  [PARTITIONED BY (col_name1, col_name2, ...)]
  [COMMENT table_comment]
  [AS select_statement];

使用Hive语法创建DLI表

1
2
3
4
5
6
7
CREATE TABLE [IF NOT EXISTS] [db_name.]table_name 
  [(col_name1 col_type1 [COMMENT col_comment1], ...)]
  [COMMENT table_comment] 
  [PARTITIONED BY (col_name2 col_type2, [COMMENT col_comment2], ...)] 
  STORED AS file_format 
  [TBLPROPERTIES (key1=val1, key2=val2, ...)]
  [AS select_statement];

删除表相关语法

表4 删除表相关语法

功能描述

语法格式

删除表

1
DROP TABLE [IF EXISTS] [db_name.]table_name;

清空数据

1
TRUNCATE TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)];

分区表相关语法

表5 分区表相关语法

功能描述

语法格式

添加分区(只支持OBS表)

1
2
3
4
5
ALTER TABLE table_name ADD [IF NOT EXISTS]
  PARTITION partition_specs1
  [LOCATION 'obs_path1']
  PARTITION partition_specs2
  [LOCATION 'obs_path2'];

重命名分区

1
2
3
ALTER TABLE table_name
  PARTITION partition_specs
  RENAME TO PARTITION partition_specs;

删除分区

1
2
3
ALTER TABLE [db_name.]table_name
  DROP [IF EXISTS]
  PARTITION partition_spec1[,PARTITION partition_spec2,...];

修改表分区位置(只支持OBS表)

1
2
3
ALTER TABLE table_name
  PARTITION partition_specs
  SET LOCATION obs_path;

更新表分区信息(只支持OBS表)

1
2
MSCK REPAIR TABLE table_name;
ALTER TABLE table_name RECOVER PARTITIONS;

导入数据相关语法

表6 导入数据相关语法

功能描述

语法格式

导入数据

1
2
LOAD DATA INPATH 'folder_path' INTO TABLE [db_name.]table_name
  OPTIONS(property_name=property_value, ...);

插入数据相关语法

表7 插入数据相关语法

功能描述

语法格式

插入数据

1
2
INSERT {OVERWRITE | INTO} TABLE [db_name.]table_name
  [PARTITION partition_specs] select_statement;
1
2
INSERT {OVERWRITE | INTO} [TABLE] [db_name.]table_name
  VALUES (values_row [, values_row ...]);

查看表相关语法

表8 查看表相关语法

功能描述

语法格式

查看所有表

1
SHOW TABLES [IN | FROM db_name] [LIKE regex_expression];

查看建表语句

1
SHOW CREATE TABLE table_name;

查看表属性

1
SHOW TBLPROPERTIES table_name [('property_name')];

查看指定表所有列

1
SHOW COLUMNS {FROM | IN} table_name [{FROM | IN} db_name];

查看指定表所有分区

1
2
SHOW PARTITIONS [db_name.]table_name
  [PARTITION partition_specs];

查看表统计信息

1
DESCRIBE [EXTENDED|FORMATTED] [db_name.]table_name;

导出查询结果相关语法

表9 导出查询结果相关语法

功能描述

语法格式

导出查询结果

1
2
3
4
INSERT OVERWRITE DIRECTORY path
  USING file_format
  [OPTIONS(key1=value1)]
  select_statement;

跨源连接表相关语法

表10 HBase表相关语法

功能描述

语法格式

创建DLI表关联HBase

  • 单个RowKey
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE [IF NOT EXISTS] TABLE_NAME (
      ATTR1 TYPE,
      ATTR2 TYPE,
      ATTR3 TYPE)
      USING [CLOUDTABLE | HBASE] OPTIONS (
      'ZKHost'='xx',
      'TableName'='TABLE_IN_CLOUDTABLE',
      'RowKey'='ATTR1',
      'Cols'='ATTR2:CF1.C1, ATTR3:CF1.C2');
    
  • 组合RowKey
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE [IF NOT EXISTS] TABLE_NAME (
      ATTR1 String,
      ATTR2 String,
      ATTR3 TYPE)
      USING [CLOUDTABLE | HBASE] OPTIONS (
      'ZKHost'='xx',
      'TableName'='TABLE_IN_CLOUDTABLE',
      'RowKey'='ATTR1:2, ATTR2:10',
      'Cols'='ATTR2:CF1.C1, ATTR3:CF1.C2');
    

插入数据至HBase表

1
2
3
4
5
6
7
INSERT INTO DLI_TABLE
  SELECT ATTR_EXPR
  [FROM CLAUSE]
  [WHERE CLAUSE]
  [LIMIT CLAUSE]
  [GROUP BY CLAUSE]
  [ORDER BY CLAUSE] ...;

查询HBase表

1
SELECT * FROM table_name LIMIT number;
表11 OpenTSDB表相关语法

功能描述

语法格式

创建DLI表关联OpenTSDB

1
2
3
4
5
CREATE TABLE [IF NOT EXISTS] UQUERY_OPENTSDB_TABLE_NAME
  USING OPENTSDB OPTIONS (
  'host' = 'xx;xx',
  'metric' = 'METRIC_NAME',
  'tags' = 'TAG1,TAG2');

插入数据至OpenTSDB

1
INSERT INTO TABLE TABLE_NAME SELECT * FROM DLI_TABLE;
1
INSERT INTO TABLE TABLE_NAME VALUES(XXX);

查询OpenTSDB表

1
SELECT * FROM table_name LIMIT number;
表12 DWS表相关语法

功能描述

语法格式

创建DLI表关联DWS

1
2
3
4
5
6
CREATE TABLE [IF NOT EXISTS] TABLE_NAME
  USING DWS OPTIONS (
  'url'='xx',
  'dbtable'='table_name_in_DWS',
  'user'='YOUR_DWS_USER_NAME',
  'password'='YOUR_PASS_WORD');

插入数据至DWS表

1
2
3
4
5
6
7
INSERT INTO DLI_TABLE
  SELECT ATTR_EXPR
  [FROM CLAUSE]
  [WHERE CLAUSE]
  [LIMIT CLAUSE]
  [GROUP BY CLAUSE]
  [ORDER BY CLAUSE] ...;

查询DWS表

1
SELECT * FROM table_name LIMIT number;
表13 RDS表相关语法

功能描述

语法格式

创建DLI表关联RDS

1
2
3
4
5
6
7
CREATE TABLE [IF NOT EXISTS] TABLE_NAME
  USING JDBC OPTIONS (
  'url'='xx',
  'driver'='DRIVER_NAME',
  'dbtable'='db_name_in_RDS.table_name_in_RDS',
  'user'='YOUR_RDS_USER_NAME',
  'password'='YOUR_PASS_WORD');

插入数据至RDS表

1
2
3
4
5
6
7
INSERT INTO DLI_TABLE
  SELECT ATTR_EXPR
  [FROM CLAUSE]
  [WHERE CLAUSE]
  [LIMIT CLAUSE]
  [GROUP BY CLAUSE]
  [ORDER BY CLAUSE] ...;

查询RDS表

1
SELECT * FROM table_name LIMIT number;
表14 CSS表相关语法

功能描述

语法格式

创建DLI表关联CSS

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
CREATE TABLE [IF NOT EXISTS] TABLE_NAME(
  FIELDNAME1 FIELDTYPE1,
  FIELDNAME2 FIELDTYPE2)
  USING CSS OPTIONS (
  'es.nodes'='xx',
  'resource'='type_path_in_CSS',
  'pushdown'='true',
  'strict'='false',
  'batch.size.entries'= '1000',
  'batch.size.bytes'= '1mb',
  'es.nodes.wan.only' = 'true',
  'es.mapping.id' = 'FIELDNAME');

插入数据至CSS表

1
2
3
4
5
6
7
INSERT INTO DLI_TABLE
  SELECT ATTR_EXPR
  [FROM CLAUSE]
  [WHERE CLAUSE]
  [LIMIT CLAUSE]
  [GROUP BY CLAUSE]
  [ORDER BY CLAUSE] ...;

查询CSS表

1
SELECT * FROM table_name LIMIT number;
表15 DCS表相关语法

功能描述

语法格式

创建DLI表关联DCS

  • 指定Key
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    CREATE TABLE [IF NOT EXISTS] TABLE_NAME(
        FIELDNAME1 FIELDTYPE1,
        FIELDNAME2 FIELDTYPE2)
      USING REDIS OPTIONS (
      'host'='xx',
      'port'='xx',
      'password'='xx',
      'table'='namespace_in_redis:key_in_redis',
      'key.column'= 'FIELDNAME1'
    );
    
  • 通配key
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    CREATE TABLE [IF NOT EXISTS] TABLE_NAME(
        FIELDNAME1 FIELDTYPE1,
        FIELDNAME2 FIELDTYPE2)
      USING REDIS OPTIONS (
      'host'='xx',
      'port'='xx',
      'password'='xx',
      'keys.pattern'='key*:*',
      'key.column'= 'FIELDNAME1'
    );
    

插入数据至DCS表

1
2
3
4
5
6
7
INSERT INTO DLI_TABLE
  SELECT ATTR_EXPR
  [FROM CLAUSE]
  [WHERE CLAUSE]
  [LIMIT CLAUSE]
  [GROUP BY CLAUSE]
  [ORDER BY CLAUSE] ...;

查询DCS表

1
SELECT * FROM table_name LIMIT number;
表16 DDS表相关语法

功能描述

语法格式

创建DLI表关联DDS

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
CREATE TABLE [IF NOT EXISTS] TABLE_NAME(
    FIELDNAME1 FIELDTYPE1,
    FIELDNAME2 FIELDTYPE2)
  USING MONGO OPTIONS (
  'url'='IP:PORT[,IP:PORT]/[DATABASE][.COLLECTION][AUTH_PROPERTIES]',
  'database'='xx',
  'collection'='xx',
  'user'='xx',
  'password'= 'xx'
);

插入数据至DDS表

  • 追加插入数据
    1
    2
    3
    4
    5
    6
    7
    INSERT INTO DLI_TABLE
      SELECT ATTR_EXPR
      [FROM CLAUSE]
      [WHERE CLAUSE]
      [LIMIT CLAUSE]
      [GROUP BY CLAUSE]
      [ORDER BY CLAUSE] ...;
    
  • 覆盖插入数据
    1
    2
    3
    4
    5
    6
    7
    INSERT OVERWRITE TABLE DLI_TABLE
      SELECT ATTR_EXPR
      [FROM CLAUSE]
      [WHERE CLAUSE]
      [LIMIT CLAUSE]
      [GROUP BY CLAUSE]
      [ORDER BY CLAUSE] ...;
    

查询DDS表

1
SELECT * FROM table_name LIMIT number;

视图相关语法

表17 视图相关语法

功能描述

语法格式

创建视图

1
CREATE [OR REPLACE] VIEW view_name AS select_statement;

删除视图

1
DROP VIEW [IF EXISTS] [db_name.]view_name;

查看计划相关语法

表18 查看计划相关语法

功能描述

语法格式

查看计划

1
EXPLAIN [EXTENDED | CODEGEN] statement;

数据控制相关语法

表19 数据控制相关语法

功能描述

语法格式

创建角色

1
CREATE ROLE [db_name].role_name;

删除角色

1
DROP ROLE [db_name].role_name;

绑定角色

1
GRANT ([db_name].role_name,...) TO (user_name,...);

解绑角色

1
REVOKE ([db_name].role_name,...) FROM (user_name,...);

显示角色

1
SHOW [ALL] ROLES [user_name];

分配权限

1
GRANT (privilege,...) ON (resource,..) TO ((ROLE [db_name].role_name) | (USER user_name)),...);

回收权限

1
REVOKE (privilege,...) ON (resource,..) FROM ((ROLE [db_name].role_name) | (USER user_name)),...);

显示已授权限

1
SHOW GRANT ((ROLE [db_name].role_name) | (USER user_name)) ON resource;

显示所有角色和用户的绑定关系

1
SHOW PRINCIPALS ROLE;
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区