SQL入门教程(27) Alter Table

在表格被建立在资料库中后,我们常常会发现,这个表格的结构需要有所改变。常见的改变如下:
•  加一个栏位
•  删去一个栏位
•  改变栏位名称
•  改变栏位的资料种类
以上列出的改变并不是所有可能的改变。ALTER TABLE 也可以被用来作其他的改变,例如改变主键定义。
ALTER TABLE 的语法如下:
ALTER TABLE “table_name”
[改变方式]
[改变方式] 的详细写法会依我们想要达到的目标而有所不同。再以上列出的改变中,[改变方式] 如下:
•  加一个栏位: ADD “栏位1” “栏位1 资料种类”
•  删去一个栏位: DROP “栏位1”
•  改变栏位名称: CHANGE “原本栏位名” “新栏位名” “新栏位名资料种类”
•  改变栏位的资料种类: MODIFY “栏位1” “新资料种类”
以下我们用在CREATE TABLE 一页建出的customer 表格来当作例子:
customer 表格

栏位名称 资料种类
First_Name char(50)
Last_Name char(50)
Address char(50)
City char(50)
Country char(50)
Birth_Date date

第一,我们要加入一个叫做”gender” 的栏位。这可以用以下的指令达成:
ALTER table customer add Gender char(1)
这个指令执行后的表格架构是:
customer 表格

栏位名称 资料种类
First_Name char(50)
Last_Name char(50)
Address char(50)
City char(50)
Country char(50)
Birth_Date date
Gender char(50)

接下来,我们要把”Address” 栏位改名为”Addr”。这可以用以下的指令达成:
ALTER table customer change Address Addr char(50)
这个指令执行后的表格架构是:
customer 表格

栏位名称 资料种类
First_Name char(50)
Last_Name char(50)
Addr char(50)
City char(50)
Country char(50)
Birth_Date date
Gender char(1)

再来,我们要将”Addr” 栏位的资料种类改为char(30)。这可以用以下的指令达成:
ALTER table customer modify Addr char(30)
这个指令执行后的表格架构是:
customer 表格

栏位名称 资料种类
First_Name char(50)
Last_Name char(50)
Addr char(30)
City char(50)
Country char(50)
Birth_Date date
Gender char(1)

最后,我们要删除”Gender” 栏位。这可以用以下的指令达成:
ALTER table customer drop Gender
这个指令执行后的表格架构是:
customer 表格

栏位名称 资料种类
First_Name char(50)
Last_Name char(50)
Addr char(30)
City char(50)
Country char(25)
Birth_Date date