在 Day 8 文章中,我們有了資料表的內容,接下來我們就要設計欄位,讓這些內容變成真的資料表啦!
創建資料表的語法如下:
CREATE TABLE 資料表名稱(屬性 資料型態, 屬性 資料型態);
在建立資料表之前,我們要確定以下資訊:
我們先來分析一下這兩張資料表的欄位。
接著透過我們的欄位設計,創建資料表:
CREATE TABLE breeder(
id SERIAL PRIMARY KEY, # 整數序列
name VARCHAR(255), # 字串,最多255字元
location VARCHAR(255), # 字串,最多255字元
career_center_wins int, # 整數
career_region_wins int # 整數
);
接著我們可以透過檢視 schema 來確認資料表的架構與型態:
\d breeder
在建立資料表時,我們也可以賦予欄位一些限制(constraints),比如:
NOT NULL #屬性的值不可為空
UNIQUE #每個值都不可重複
DEFAULT #"預設值" 若該屬性沒有填入資料,會呈現預設值
AUTO_INCREMENT #自動遞增
建立完 breeder 的資料表,接下來繼續完成 racehorse 吧!
CREATE TABLE racehorse(
id SERIAL PRIMARY KEY, #主鍵,整數序列
name VARCHAR(255), #字串,最多 255 字元
sex VARCHAR(1), #字串,最多1字元
birth_date DATE, #日期,格式為 "YYYY-MM-DD"
coat_color VARCHAR(255), #字串,最多 255 字元
breeder_id int, #整數
FOREIGN KEY(breeder_id) #外鍵欄位
REFERENCES breeder(id) # 外鍵的資料表
);
我們再來看 racehose 的 schema:
\d racehorse
到目前為止,我們建立好兩張資料表了,明天就來把資料存進資料表吧。
參考資料: