1. 程式人生 > >key的作用

key的作用

減少 圖片 unique 參考 roc int 技術 只有一個 關聯表

not null 與 default
create table t1(
        id int primary key auto_increment,   設置了主鍵 id,如果通過id查找就會大量減少IO時間
        name varchar(16) not null,  不能為空
        sex enum(‘male‘,‘female‘) not null default ‘male‘ 不能為空且默認值為male
);
insert into t1(name) values(‘egon‘),(‘lxx‘),(‘alex‘);

unique key:不能重復

技術分享圖片

primary key: 不能重復且不能為空,還有鍵的功能

站在約束角度看primary key=not null unique
以後但凡建表,必須註意:
1、必須有且只有一個主鍵
2、通常是id字段被設置為主鍵
create table t5(
id int primary key auto_increment
);

存儲引擎

技術分享圖片

foreign key: 限制關聯表某一個字段的值必須是來自於被關聯表的一個字段

1、被關聯的字段必須是一個key,通常是id字段
2、創建表時:必須先建立被關聯的表,才能建立關聯表

1 被關聯的字段必須是一個key,通常是id字段

2 創建表時: 必須先建立被關聯的表,才能建立關聯表

3 插入記錄時: 必須先往被關聯的表插入記錄,才能往關聯表中插入記錄

技術分享圖片
技術分享圖片

找兩張表的關系的竅門

技術分享圖片
技術分享圖片

一對一:無需參考竅門,左表的一條數據唯一對應右表的一條記錄

key的作用