赞
踩
相关知识
为了完成本关任务,你需要掌握: 1.如何修改表; 2.如何修改列。
Alter 重命名表
重命名表的语法为:
ALTER TABLE table_name RENAME TO new_table_name;
items_info
表重命名为items
。ALTER TABLE items_info RENAME TO items;
Alter 修改表
修改表列的语法为:
ALTER TABLE table_name [PARTITION partition_spec] CHANGE [COLUM] col_old_name col_new_name colum_type [COMMENT col_comment] [FIRST|AFTER column_name] [CASCADE|RESTRICT];
FIRST
、AFTER
用于指定是否交换列的前后顺序metadata
(RESTRICT
方式,即默认方式)CASCADE
关键字用于限定修改操作同时同步到表metadata
和分区metadata
items
的price
列名为items_price
。ALTER TABLE items CHANGE price item_price FLOAT COMMENT 'items price';
Alter 修改列
增加表列和删除表列或替换表列的语法为:
ALTER TABLE table_name [PARTITION partition_spec] ADD|REPLACE COLUMNS (col_namedata_type [COMMENT col_comment],…) [CASCADE|RESTRICT]
ADD COLUMNS
:用于在表中已存在实体列(existing columns
)之后且分区列(partition columns
,或伪列)之前添加新的列REPLACE COLUMNS
:删除表中现有的全部列,添加新的列集合。该操作仅支持使用内部的SerDe
(DynamicSerDe、MetadataTypedColumnsetSerDe/LazySimpleSerDe和ColumnarSerDe)
的表(SerDe
用于实现表数据与 HDFS 数据之间的转换方式)items
添加生产日期item_date
列,数据类型为STRING
,说明为items date
:ALTER TABLE items ADD COLUMNS (item_date STRING COMMENT 'item date');
编程要求
请根据右侧命令行内的提示,在Begin - End
区域内进行sql
语句代码补充,具体任务如下:
student
表结构:
INFO | TYPE | COMMENT |
---|---|---|
Sno | INT | student sno |
name | STRING | student name |
age | INT | student age |
sex | STRING | student sex |
score | STRUCT <Chinese:FLOAT,Math:FLOAT,English:FLOAT> | student score |
test3
tets3
中,创建表student
,表结构如上所示,和第二关相同student
为student_info
age
为student_age
birthday
,数据类型为STRING
,说明信息为student birthday
按照以上要求填写命令。每个要求对应一条命令,共5
条命令,以;
隔开。
- #********* Begin *********#
- echo "
- drop database if exists test3 cascade;
- CREATE DATABASE IF NOT EXISTS test3
- LOCATION '/hive/test3'
- WITH DBPROPERTIES('creator'='John','date'='2022-04-20');
-
- CREATE TABLE IF NOT EXISTS test3.student(
- Sno INT COMMENT 'student sno',
- name STRING COMMENT 'student name',
- age INT COMMENT 'student age',
- sex STRING COMMENT 'student sex',
- score STRUCT <Chinese:FLOAT,Math:FLOAT,English:FLOAT> COMMENT 'student score');
-
- ALTER TABLE student RENAME TO student_info;
-
- ALTER TABLE student_info CHANGE age student_age int;
-
- ALTER TABLE student_info ADD COLUMNS (birthday STRING COMMENT 'student birthday');
- "
- #********* End *********#

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。