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

DLI SQL语法概览

分享
更新时间: 2019/10/28 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
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 'obs_path'
  [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
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
4
ALTER TABLE [db_name.]table_name
  DROP [IF EXISTS]
  PARTITION partition_spec1[,PARTITION partition_spec2,...]
  [PURGE];

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

功能描述

语法格式

创建视图

1
CREATE [OR REPLACE] VIEW view_name AS select_statement;

删除视图

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

查看计划相关语法

表11 查看计划相关语法

功能描述

语法格式

查看计划

1
EXPLAIN [EXTENDED | CODEGEN] statement;

数据控制相关语法

表12 数据控制相关语法

功能描述

语法格式

创建角色

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

提交反馈 取消

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

跳转到云社区