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

DLI SQL语法概览

分享
更新时间: 2019/09/24 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 's3a://bucketName/filePath', 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
8
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 's3a://bucketName/filePath'
  [TBLPROPERTIES (key1=val1, key2=val2, ...)]
  [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;

分区表相关语法

表5 分区表相关语法

功能描述

语法格式

添加分区(只支持OBS表)

1
2
3
4
ALTER TABLE table_name ADD [IF NOT EXISTS]
  PARTITION partition_specs
  LOCATION 'obs_path' 
  [PARTITION partition_specs [LOCATION 'obs_path']...];

重命名分区

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

删除分区

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

修改表分区位置(只支持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
NSERT {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 CloudTable表相关语法

功能描述

语法格式

创建DLI表关联CloudTable

  • 单个RowKey
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    CREATE TABLE [IF NOT EXISTS] TABLE_NAME (
    ATTR1TYPE,
    ATTR2TYPE,
    ATTR3TYPE)
    USING CLOUDTABLE OPTIONS (
    'ClusterId'='xx',
    '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
    10
    CREATE TABLE [IF NOT EXISTS] TABLE_NAME (
    ATTR1 String,
    ATTR2 String,
    ATTR3TYPE)
    USING CLOUDTABLE OPTIONS (
    'ClusterId'='xx',
    'ZKHost'='xx',
    'TableName'='TABLE_IN_CLOUDTABLE',
    'RowKey'='ATTR1:2, ATTR2:10',
    'Cols'='ATTR2:CF1.C1, ATTR3:CF1.C2');
    

插入数据至CloudTable表

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] ...;

查询CloudTable表

1
SELECT * FROM table_name LIMIT number;

创建DLI表关联OpenTSDB

CREATE TABLE [IF NOT EXISTS] UQUERY_OPENTSDB_TABLE_NAME
  USING OPENTSDB
  OPTIONS ('clusterId'='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;
表11 DWS表相关语法

功能描述

语法格式

创建DLI表关联DWS

1
2
3
4
5
6
CREATE TABLE [IF NOT EXISTS] TABLE_NAME
  USING JDBC 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;
表12 RDS表相关语法

功能描述

语法格式

创建DLI表关联RDS

1
2
3
4
5
6
7
CREATE TABLE [IF NOT EXISTS] TABLE_NAME
  USING JDBC OPTIONS (
  'url'='xx',
  'driver'='com.mysql.jdbc.Driver',
  '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;
表13 CSS表相关语法

功能描述

语法格式

创建DLI表关联CSS

1
2
3
4
5
6
7
8
9
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');

插入数据至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;

视图相关语法

表14 视图相关语法

功能描述

语法格式

创建视图

1
CREATE [OR REPLACE] VIEW view_name AS select_statement;

删除视图

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

查看计划相关语法

表15 查看计划相关语法

功能描述

语法格式

查看计划

1
EXPLAIN [EXTENDED | CODEGEN] statement;

数据控制相关语法

表16 数据控制相关语法

功能描述

语法格式

创建角色

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

提交反馈 取消

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

跳转到云社区