如果已經宣告了一張表格,甚至已經存入資料了, 後來卻發現表格的欄位結構需要改變,就需要修改表格的欄位宣告。 在許多種修改的可能中,我們現在只講一種:增加一個欄位。 其基本語法是
alter table 表格 add fieldN+1其中 fieldN+1 的意義和語法,與 建立/描述/刪除表格 所說的一樣。 表格中已經有的資料,自動給定新增的欄位值; 如果 fieldN+1 有宣告內定值, 那麼就是內定值。如果沒有宣告內定值,而且沒有規定不可以是空的, 則是空的 (NULL)。您應該避免既不宣告內定值、又規定不可以是空的, 雖然 MySQL 會照做,但是這樣容易出錯。
以下,我們以課本中的 T1 為例,將它改變成課本中的 LIST 表格。 假設讀者已經照著 輸入資料、查閱表格 的指示, 把 T1 表格做好了。現在我們要增加一個欄位,稱之為 addr, 用來記錄 ADDR 表格裡面的編號。這些編號必然是正整數。所以說
alter table T1 add addr int unsigned;然後,用 select * from T1; 看看內容:
+----+--------+--------+------------+---------------+------+ | id | name | gender | birthday | phone | addr | +----+--------+--------+------------+---------------+------+ | 1 | 郭靖 | M | 1981-02-11 | (093)717-5353 | NULL | | 2 | 黃蓉 | F | 1985-10-21 | (093)717-1826 | NULL | | 3 | 周伯通 | M | 1964-04-04 | (07)282-5640 | NULL | | 4 | 歐陽鋒 | M | 1960-01-06 | NULL | NULL | +----+--------+--------+------------+---------------+------+
習題
+----+--------+--------+------------+---------------+------+ | id | name | gender | birthday | phone | addr | +----+--------+--------+------------+---------------+------+ | 1 | 郭靖 | M | 1981-02-11 | (093)717-5353 | 1 | | 2 | 黃蓉 | F | 1985-10-21 | (093)717-1826 | 1 | | 3 | 周伯通 | M | 1964-04-04 | (07)282-5640 | 2 | | 4 | 歐陽鋒 | M | 1960-01-06 | NULL | 3 | +----+--------+--------+------------+---------------+------+