1.1 外來鍵(了解):
方式一:建表同時建外鍵 (物理)
-- 物理設定外來鍵的過程:
create
table
ifnot
exists
`grade`
(`grade_id`
int(4)
notnull
auto_increment
comment
'年級id'
,`grade_name`
varchar(10
)not
null
default
'無'comment
'年級名稱'
,primary
key(
`grade_id`))
engine
=innodb
default
charset
=utf8;
create
table
`student`
(`id`
intnot
null
auto_increment
comment
'學號'
,`name`
varchar(20
)not
null
default
'匿名'
comment
'暱稱'
,`password`
varchar(20
)not
null
default
'123456'
comment
'密碼'
,`***`
varchar(2
)not
null
default
'男'comment
'性別'
,`birthday`
datetime
default
null
comment
'出生日期'
,`address`
varchar
(100
)default
null
comment
'家庭位址'
,`email`
varchar(20
)default
null
comment
'郵箱'
,`grade_id`
int(4)
notnull
comment
'學生所在年級'
,primary
key(
`id`),
-- 物理設定外來鍵的過程
key`fk_grade_id`
(`grade_id`),
-- 定義外來鍵
-- 給外來鍵新增約束(引用)
constraint
`fk_grade_id`
foreign
key(
`grade_id`
)references
`grade`
(`grade_id`))
engine
=innodb
default
charset
=utf8;
方式二:建立表的時候沒有任何約束,在建立完錶後建立外來鍵 , 物理設定外來鍵的過程(物理)
create
table
ifnot
exists
`grade`
(`grade_id`
int(4)
notnull
auto_increment
comment
'年級id'
,`grade_name`
varchar(10
)not
null
default
'無'comment
'年級名稱'
,primary
key(
`grade_id`))
engine
=innodb
default
charset
=utf8;
create
table
`student`
(`id`
intnot
null
auto_increment
comment
'學號'
,`name`
varchar(20
)not
null
default
'匿名'
comment
'暱稱'
,`password`
varchar(20
)not
null
default
'123456'
comment
'密碼'
,`***`
varchar(2
)not
null
default
'男'comment
'性別'
,`birthday`
datetime
default
null
comment
'出生日期'
,`address`
varchar
(100
)default
null
comment
'家庭位址'
,`email`
varchar(20
)default
null
comment
'郵箱'
,`grade_id`
int(4)
notnull
comment
'學生所在年級'
,primary
key(
`id`))
engine
=innodb
default
charset
=utf8;
-- 在表外實時新增外來鍵(方便,推薦)
-- 物理設定外來鍵的過程
/*alter table `表名`
add constraint `約束名` foreign key(`作為外來鍵的列`) references `主表`(`約束列(字段)`)
*/alter
table
`student`
addconstraint
`fk_grade_id`
foreign
key(
`grade_id`
)references
`grade`
(`grade_id`
);
2021.1.12
如果覺得對你有幫助那麼歡迎你隨時來回顧!
只為記錄本人學習歷程。
畢
MySQL 資料庫外來鍵
如果表a的主關鍵字是表b中的字段,則該字段稱為表b的外來鍵,表a稱為主表,表b稱為從表。外來鍵是用來實現參照完整性的,不同的外來鍵約束方式將可以使兩張表緊密的結合起來,特別是修改或者刪除的級聯操作將使得日常的維護工作更加輕鬆。這裡以mysql為例,總結一下3種外來鍵約束方式的區別和聯絡。這裡以使用者...
MySQL資料庫外來鍵
設定外來鍵 外來鍵及功能 成績表 參照表也叫子表 中的學號來自學生表 被參照表也叫父表 成績表中的課程號來自課程表 當要刪除或更新被參照表中的給字段的值時,參照錶該字段的值如何改變。在on delete on update設定參照動作 restrict 限制 cascade 級聯 set null ...
Database學習 mysql 資料庫 外來鍵
外來鍵約束子表的含義 如果在父表中趙達不到候選鍵,則不允許在子表上進行insert update 外來鍵預約對父表的含義 在父表上進行update delete以更新或刪除子表中有一條或多條對應匹配的候選鍵時,父表的行為取決於,在定義子表的外來鍵時指定的on update on delete 字句....