數據庫艱難求生之路(基礎:創建數據庫表格)part1
阿新 • • 發佈:2019-01-05
tab span bsp 字段 reference int .com pac 什麽是
創建表格
1.創建表格之identity
create table TableName(
id int not null primary key identity(1,1),
col_1 varchar(50),
col_2 nvarchar(50)
)
這是一個簡單的表格創建,identity這個是指在創建表格時候,將表格的id這個列設置為自增的,第一個參數表示自增是從幾開始,第二個參數表示的是自增的數量是多少。
這張是identity(1,1)的時候
這張是identity(1,4)的時候
2.創建表格之主鍵和外鍵
create table Student( idint not null primary key identity(1,1), --主鍵的關鍵字是primary key。
--字段的後邊跟著這個詞就是創建一個自增的
--自增長度為1的不為空的,主鍵是id的列 Sage int, Sname nvarchar(50),
Ssex varchar(50),
Cid int FOREIGN KEY (Cid) REFERENCES Class(Cid) --這裏是創建一個外鍵 )
什麽是主鍵:可以這麽理解,它是特別的,它是一種唯一標識。就像是身份證一樣。比如說我們的名字,性別,年齡都是可以重復的,但是身份嗎是絕對不可能重復的,它就代表了你這個人。在比如說是學籍號這個在你的學校裏也是認定你這個人的唯一標識。
同理,主鍵也可以理解為認識這一行的唯一標識。查詢它,就可以查詢出這一行的其他數據。
1) 一個表中只能有一個主鍵。 2)主鍵的值不可重復,也不可為空。創建主鍵應當遵循的規則:
1、主鍵對於用戶來說沒有太大意義。就像這個學生表的id,它除了能夠快速的找到你這個人,並沒有很大的意義。
2、盡量不要自己去更新主鍵,最好是自增的,計算機自動生成的
3、主鍵不要包含動態變化數據。如時間戳 、創建時間列、修改時間列等。
什麽是外鍵:外鍵是一種約束。它是關系的有效性檢查。可以這麽理解:
id | Sname | Sage | Cid |
1 | 小明 | 16 | 1 |
2 | 小黑 | 18 | 2 |
3 | 小小 | 19 | 8 |
Cid | Cname |
1 | 一年級一班 |
2 | 一年級二班 |
3 | 一年級三班 |
這是兩張表格,一張是學生表,一張是班級表。他們之間存在這聯系。小明是所在的班級的cid是1所以可以很直觀的看見他是一年級一班的學生,小黑是一年級二班的學生,小小的cid是8在班級表中並沒有找到班級為8的班級。也就是說不存在八班的學生
這樣的話數據容易出錯,所以需要外鍵來對他們的關系進行約束。對cid進行約束的時候,不讓學生表當中出現不存在班級表的id。總的來說就是只要班級表沒有的Cid,你的學生表就不能填入這個不存在的Cid。
數據庫艱難求生之路(基礎:創建數據庫表格)part1