iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 7
0
AI & Data

作者超囉嗦,但一天只要十分鐘的MYSQL真.新手教學系列 第 7

第七日- 資料限制:AUTO_INCREMENT,現在換你創一張資料表!

  • 分享至 

  • xImage
  •  

在講解完資料型態(Type)和資料限制(Constraint)後,
我們再回頭看第二日創建第一筆資料的語法,
會發現裡面的資訊幾乎都解說過了,
只差一個AUTO_INCREMENT,
今天會快速的再帶一次CREATE Table,
然後換你試著創一張資料表(這樣會不會超過十分鐘XD)。

  • 創建學生資料表 student (同時定義資料欄位)

以下創建資料表的語法,可以看到指令中直接和資料庫說希望

  1. 動作:創建資料表
  2. 資料表的名稱是student
  3. 第一欄資料欄位的名稱、型別、限制
  4. 逗號以後開始定義下一欄資料
  5. 全部欄位都定義完後,定義PK
CREATE Table student(
id      	int             AUTO_INCREMENT,
birth_date  DATE            NOT NULL,	
full_name  	VARCHAR(50)     NOT NULL,
gender      VARCHAR(50)     NOT NULL,
class       VARCHAR(100),			
start_date  DATE            NOT NULL,	
PRIMARY KEY (id)
) ;

裡面所有的指令在前兩日都講解過了,
除了一個「AUTO_INCREMENT」。

AUTO_INCREMENT

從語法中可以看到AUTO_INCREMENT是寫在資料限制的位置,
代表他是資料限制的指令,
AUTO_INCREMENT的意思是自動累加,
標註AUTO_INCREMENT的欄位,
系統會自動生成欄位值,
生成規則是第一筆是0,第二筆是1,一直累加上去。

例如抽獎卷的流水號,就能用自動累加,生成的號碼會是從開始一直+1,號碼就會連續,而且不重複。

這個生成規則有沒有讓你聯想到什麼?
沒錯,這樣自動累加就會:具獨特性、不可為無,
這兩個特性就和PK一樣,
不如說AUTO_INCREMENT是為PK設計的,
只有PK可以使用。


現在換你創建一張資料表,
名字叫做class,欄位要有:

  1. 欄位名稱:id,類型:整數,必填,自動累加,PK
  2. 欄位名稱:subject,類型:文字,最多25個字,必填,唯一性
  3. 欄位名稱:fee,類型:整數,必填

創建的語法明天會寫,先試試看囉!

如果SQL報錯說你已經有一張叫做class的資料表,你應該知道怎麼做,不知道的話去複習前幾天!!


上一篇
第六日- 資料限制(Constraint)資料表的身分證PRIMARY KEY 主鍵( PK)
下一篇
第八日- 插入資料(INSERT INTO)的各種寫法,今天也有練習題!
系列文
作者超囉嗦,但一天只要十分鐘的MYSQL真.新手教學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言