MySQL 教材:在表格中增加欄位

如果已經宣告了一張表格,甚至已經存入資料了, 後來卻發現表格的欄位結構需要改變,就需要修改表格的欄位宣告。 在許多種修改的可能中,我們現在只講一種:增加一個欄位。 其基本語法是

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 |
+----+--------+--------+------------+---------------+------+

習題

  1. 修改 T1 表格的 addr 欄位,使它們的值符合課本上的 LIST 表格。亦即
    +----+--------+--------+------------+---------------+------+
    | 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 |
    +----+--------+--------+------------+---------------+------+
[BCC16-A]
單維彰 (01/05/30) ---
[Prev] [Next] [Up]