在表格被建立在資料庫中後,我們常常會發現,這個表格的結構需要有所改變。常見的改變如下:

  • 加一個欄位
  • 刪去一個欄位
  • 改變欄位名稱
  • 改變欄位的資料種類

以上列出的改變並不是所有可能的改變。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(25) 
 Birth_Date  datetime 

第一,我們要加入一個叫做 "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(25) 
 Birth_Date  datetime 
 Gender  char(1) 

接下來,我們要把 "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(25) 
 Birth_Date  datetime 
 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(25) 
 Birth_Date  datetime 
 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  datetime 

下一頁:SQL DROP TABLE

本頁最近於 2022年6月13日更新



Copyright © 2023   1keydata.com   版權所有