SQL ALTER TABLE CHANGE COLUMN (更改栏位)



在 SparkSQL 和 HiveQL 中,ALTER TABLE CHANGE COLUMN 具有两个用途:它可以用于更改列的名称,也可以用于更改列的资料型态。您也可以一次同时达到这两种用途。

传统的数据库 (如 MySQL、Oracle 和 SQL Server) 并不使用 Change Column。在这些数据库中,您可以使用ALTER TABLE RENAME COLUMN 指令来更改栏位名称,并可以使用ALTER TABLE MODIFY COLUMN 指令来更改栏位的资料种类。

ALTER TABLE Change Column 的语法为

ALTER TABLE "表格名称"
CHANGE "栏位名称" "新栏位名称" "新栏位的资料种类";

让我们看一个例子。假设我们的起点是在 CREATE TABLE 教学所建立的 Customer 表格:

Customer 表格
 栏位名称  资料种类 
 First_Name  char(50) 
 Last_Name  char(50) 
 Address  char(50) 
 City  char(50) 
 Country  char(25) 
 Birth_Date  datetime 

我们的目标是将 Country 栏位改名为 Region,并给它一个 char(20) 的资料种类。要达到这个目的,我们输入:

ALTER TABLE Customer CHANGE Country Region char(20);

表格的架构现在变为:

Customer 表格
 栏位名称  资料种类 
 First_Name  char(50) 
 Last_Name  char(50) 
 Address  char(100) 
 City  char(50) 
 Region  char(20) 
 Birth_Date  datetime 

如果只更改资料种类而不更改栏位名称,我们只需在命令中重复栏位名称。例如,假设现在我们想将 Region 的资料种类更改为 char(35),我们就输入:

ALTER TABLE Customer CHANGE Region Region char(35);

请注意,Spark 只有一个 string 资料种类来储存文字资料。在 SparkSQL 中指定 char() 资料种类不会造成错误,但新的栏位的资料种类将会是 string 而不是 char()。

Modify Column (调整栏位) >>

本页最近于 2023年12月29日更新



Copyright © 2024   1keydata.com   All Rights Reserved.