流觞区直

导航

ODPS SQL <for 数据定义语言 DDL>

数据定义语言:(DDL)

建表语句:

CREATE TABLE [IF NOT EXISTS] table_name  
[(col_name data_type [COMMENT col_comment], ...)]  // 设置表的字段,给字段添加注释
[COMMENT table_comment]  //给建的表添加注释
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]  //添加分区,目前分区标只能是string类型的;
[LIFECYCLE days]  //设置表的生命周期
[AS select_statement] //也可以用as方式建表,但是as和第一个的col方式是不能并存的

删表:

drop table [if exists] table_name;

修改表名:

alter table table_name rename to new_table_name;

 

分区操作:

添加分区:

alter table table_name add [if not exists] partition(partition_col1 = partition_col_value1, partition_col2 = partiton_col_value2, ...);

删除分区:

alter table table_name drop [if exists] partition(partition_col1 = partition_col_value1, partition_col2 = partiton_col_value2, ...);

 

修改属性:

添加列:

ALTER TABLE table_name ADD COLUMNS (col_name1 type1,col_name2 type2...);

修改列名:

ALTER TABLE table_name CHANGE COLUMN old_col_name RENAME TO new_col_name;

修改表注释:

alter table table_name set comment 'tb1 comment' 

修改列/分区注释:

ALTER TABLE table_name CHANGE COLUMN col_name COMMENT comment_string;

 DDL数据定义语言案例演示:

创建/删除普通表:

odps@ sdrtest>create table t_people (id bigint , name string);  //创建普通表

odps@ sdrtest>desc t_people;  //查看普通表的表结构

+------------------------------------------------------------------------------------+
| Owner: ALIYUN$1399438812@qq.com | Project: sdrtest                                 |
| TableComment:                                                                      |
+------------------------------------------------------------------------------------+
| CreateTime:               2019-04-13 09:02:41                                      |
| LastDDLTime:              2019-04-13 09:02:41                                      |
| LastModifiedTime:         2019-04-13 09:02:41                                      |
+------------------------------------------------------------------------------------+
| InternalTable: YES      | Size: 0                                                  |
+------------------------------------------------------------------------------------+
| Native Columns:                                                                    |
+------------------------------------------------------------------------------------+
| Field           | Type       | Label | Comment                                     |
+------------------------------------------------------------------------------------+
| id              | bigint     |       |                                             |
| name            | string     |       |                                             |
+------------------------------------------------------------------------------------+

OK
odps@ sdrtest>drop table t_people_p; //删除普通表

创建分区表:

odps@ sdrtest>create table t_people_p (id bigint,name string) partitioned by (gender string);  //创建分区表

odps@ sdrtest>desc t_people_p; //查看表结构

+------------------------------------------------------------------------------------+
| Owner: ALIYUN$1399438812@qq.com | Project: sdrtest                                 |
| TableComment:                                                                      |
+------------------------------------------------------------------------------------+
| CreateTime:               2019-04-13 09:08:53                                      |
| LastDDLTime:              2019-04-13 09:08:53                                      |
| LastModifiedTime:         2019-04-13 09:08:53                                      |
+------------------------------------------------------------------------------------+
| InternalTable: YES      | Size: 0                                                  |
+------------------------------------------------------------------------------------+
| Native Columns:                                                                    |
+------------------------------------------------------------------------------------+
| Field           | Type       | Label | Comment                                     |
+------------------------------------------------------------------------------------+
| id              | bigint     |       |                                             |
| name            | string     |       |                                             |
+------------------------------------------------------------------------------------+
| Partition Columns:                                                                 |
+------------------------------------------------------------------------------------+
| gender          | string     |                                                     |
+------------------------------------------------------------------------------------+

OK

增加/删除分区表中的分区: 

odps@ sdrtest>alter table t_people_p add partition (gender = 'male');  //增加分区
odps@ sdrtest>alter table t_people_p drop if exists  partition (gender = 'male');   //删除已有分区  

修改表属性:

odps@ sdrtest>alter table t_people set lifecycle 7;  //修改表的lifecycle属性为7天;

查看表结构验证:
odps@ sdrtest>desc t_people;

+------------------------------------------------------------------------------------+
| Owner: ALIYUN$1399438812@qq.com | Project: sdrtest                                 |
| TableComment:                                                                      |
+------------------------------------------------------------------------------------+
| CreateTime:               2019-04-13 09:02:41                                      |
| LastDDLTime:              2019-04-13 09:02:41                                      |
| LastModifiedTime:         2019-04-13 09:02:41                                      |
| Lifecycle:                7                                                        |   //验证为lifecycle里面的属性确定被修改为了7天;
+------------------------------------------------------------------------------------+
| InternalTable: YES      | Size: 0                                                  |
+------------------------------------------------------------------------------------+
| Native Columns:                                                                    |
+------------------------------------------------------------------------------------+
| Field           | Type       | Label | Comment                                     |
+------------------------------------------------------------------------------------+
| id              | bigint     |       |                                             |
| name            | string     |       |                                             |
+------------------------------------------------------------------------------------+

OK
给表格新增一列:
odps@ sdrtest>alter table t_people add columns (age bigint);

odps@ sdrtest>desc t_people;

+------------------------------------------------------------------------------------+
| Owner: ALIYUN$1399438812@qq.com | Project: sdrtest                                 |
| TableComment:                                                                      |
+------------------------------------------------------------------------------------+
| CreateTime:               2019-04-13 09:02:41                                      |
| LastDDLTime:              2019-04-13 09:20:09                                      |
| LastModifiedTime:         2019-04-13 09:02:41                                      |
| Lifecycle:                7                                                        |
+------------------------------------------------------------------------------------+
| InternalTable: YES      | Size: 0                                                  |
+------------------------------------------------------------------------------------+
| Native Columns:                                                                    |
+------------------------------------------------------------------------------------+
| Field           | Type       | Label | Comment                                     |
+------------------------------------------------------------------------------------+
| id              | bigint     |       |                                             |
| name            | string     |       |                                             |
| age             | bigint     |       |                                             |
+------------------------------------------------------------------------------------+

OK
修改表名:
odps@ sdrtest>alter table t_people rename to t_women;
查看修改结果:
odps@ sdrtest>list tables;
ALIYUN$1399438812@qq.com:t_women
更新列名:
odps@ sdrtest>ALTER TABLE t_women CHANGE COLUMN age  RENAME TO age1;   //将age列名更新为age1

odps@ sdrtest>desc t_women;

+------------------------------------------------------------------------------------+
| Owner: ALIYUN$1399438812@qq.com | Project: sdrtest                                 |
| TableComment:                                                                      |
+------------------------------------------------------------------------------------+
| CreateTime:               2019-04-13 09:02:41                                      |
| LastDDLTime:              2019-04-13 09:28:02                                      |
| LastModifiedTime:         2019-04-13 09:02:41                                      |
| Lifecycle:                7                                                        |
+------------------------------------------------------------------------------------+
| InternalTable: YES      | Size: 0                                                  |
+------------------------------------------------------------------------------------+
| Native Columns:                                                                    |
+------------------------------------------------------------------------------------+
| Field           | Type       | Label | Comment                                     |
+------------------------------------------------------------------------------------+
| id              | bigint     |       |                                             |
| name            | string     |       |                                             |
| age1            | bigint     |       |                                             |   //验证列名已经更新;
+------------------------------------------------------------------------------------+

OK

  

 

  

  

others:...

posted on 2019-04-13 03:37  流觞区直  阅读(1094)  评论(0编辑  收藏  举报