MySQL 教材:建立/描述/刪除表格

您必須先選用一個資料庫,才能在裡面建立表格。 所謂建立表格,其實就是宣告它的欄位屬性。 新建立的表格,並無資料在內。 建立表格的基本語法是

create table 表格 (field1, field2, ..., fieldN );
其中表格名所受的限制和資料庫名是一樣的。 field1 代表第一個欄位的屬性宣告、... fieldN 代表第 N 個欄位的屬性宣告。 注意欄位與欄位之間以一個逗點隔開,宣告 N 個欄位的表格, 就應該恰有 N-1 個逗點。

宣告欄位屬性的基本語法是

欄位名 資料型態與容量 可不可以是空的 是否為主欄位 內定值 備註
其中欄位名、資料型態與容量是必須要寫的,其他可以不寫。 以下分別敘述。
欄位名
最好只使用英文字母、數目字和底線符號。注意,MySQL 的欄位名 不分辨 英文字母的大小寫,例如 Name 和 NAME 被視為同一個欄位名。 欄位名不應超過 64 個字元。
資料型態與容量
例如 int、int unsigned (無號整數)、char(10) 十個字元
可不可以是空的
not null 表示不可以是空的,如果沒寫 not null 就表示可以是空的。
是否為主欄位
如果寫了 primary key 就表示為主欄位。
內定值
如果寫了 default 'abc' 就表示 abc 是此欄位的內定值, 如果沒寫就沒有內定值。我們先不管內定值的用法。
備註
如果寫了 auto_increment 表示這個欄位 (必須是整數類) 會自動增加。 建立資料的時候,只要寫 NULL 即可。

例如

create table abc (number int, name char(10));
就建立了一個具有 2 個欄位的表格,名叫 abc。 欄位名依序是 number 和 name,因為它們不分大小寫, 所以稱為 NUMBER 和 NAME 或者 Number 和 Name 也都可以。

用指令

show tables;
可以看看這個資料庫裡面共有哪些表格。 但是這個指令只給我們看到表格名,如果想要知道一張表格的欄位屬性, 應該下指令要 MySQL 描述一張表格
describe 表格;
例如 describe abc; 得到回應
+--------+----------+------+-----+---------+-------+
| Field  | Type     | Null | Key | Default | Extra |
+--------+----------+------+-----+---------+-------+
| number | int(11)  | YES  |     | NULL    |       |
| name   | char(10) | YES  |     | NULL    |       |
+--------+----------+------+-----+---------+-------+
2 rows in set (0.00 sec)
我們看到這張表格有 2 個欄位,以及這些欄位的屬性。

刪除表格的指令是

drop table 表格;
這個指令就像 UNIX 的 rm 一樣,而且 MySQL 不會問您確不確定、 也不容許反悔。 所以,要非常小心這個指令。

習題

  1. 建立一個符合以下描述的表格
    +-------+------------------+------+-----+---------+----------------+
    | Field | Type             | Null | Key | Default | Extra          |
    +-------+------------------+------+-----+---------+----------------+
    | id    | int(10) unsigned |      | PRI | NULL    | auto_increment |
    | name  | char(20)         |      |     |         |                |
    | phone | char(32)         | YES  |     | NULL    |                |
    +-------+------------------+------+-----+---------+----------------+
[BCC16-A]
單維彰 (01/05/28) ---
[Prev] [Next] [Up]