婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > mysql外鍵基本功能與用法詳解

mysql外鍵基本功能與用法詳解

熱門標簽:400電話到哪辦理優惠 機器人打電銷電話 南寧外呼系統招商 鄭州網絡外呼系統價錢 博樂電銷機器人 上海市三維地圖標注 云南大數據外呼系統 怎么更改高德地圖標注 電話機器人是電腦呼號嗎

本文實例講述了mysql外鍵基本功能與用法。分享給大家供大家參考,具體如下:

本文內容:

  • 什么是外鍵
  • 外鍵的增加
  • 外鍵的修改和刪除
  • 外鍵的約束模式

首發日期:2018-04-12


什么是外鍵:

  • 外鍵就是表中存在一個字段指向另外一個表的主鍵,那么這個字段就可以稱為外鍵。
  • 一張表可以有多個外鍵。
  • 外鍵用于約束表與表之間的關系,可以說外鍵是表之間的映射關系,這個關系可以幫助我們處理表之間關系的緊密性和存在性(比如學生表的cid班級號與班級表的id建立關聯,cid應該不能為不存在的,如果不增加外鍵cid,沒有建立上關系,我們就不知道班級號不存在。)。
  • 或者說,外鍵是告訴數據庫系統,我們所認為的關系,單純的數據,系統是不知道實際意義的,外鍵就是告訴系統應該如何處理他們的關系。
  • 所以,外鍵的核心是約束。

外鍵的增加:

  • 創建外鍵的前提是該字段首先是一個索引,如果不是的話,創建外鍵是會創建成一個普通索引【所以可以不在意】。
  • 創建外鍵的另外一個前提是“指向表”已經創建,對于一個不存在的表,將無法使用外鍵對應上。
  • 增加的方式:
    • 1.在創建表的時候定義,在所有字段定義結束后使用foreign key(外鍵字段) references 指向表(主鍵)來 定義,比如
    • 2.也可以修改字段來增加: alter table 表名 add [constraint 外鍵名字] foreign key(外鍵字段) references 父表(主鍵字段);
      • constraint 外鍵名字:可以幫助定義外鍵的名字,但不建議使用,因為要求外鍵名都唯一,而使用系統自定義的絕對不會重復,
create table student(
id int primary key auto_increment,
name varchar(15) not null,
gender varchar(10) not null,
cid int,
foreign key(cid) references class(id)
);
create table class(
id int primary key auto_increment,
cname varchar(15)
);

補充:

  • 在Mysql中,如果存儲引擎不是innodb,那么無法使外鍵的約束作用生效,即使是能成功增加外鍵。
  • 外鍵名不能重復,所以不建議使用constraint 外鍵名字

外鍵的修改與刪除:

  • 修改:不能修改外鍵信息,如外鍵指向之類的,只能先刪除再新增。
  • 刪除語法:alter table 表名 drop foreign key 外鍵名;
    • 這里的外鍵名不是外鍵字段,而是外鍵名。如果沒有使用constraint來定義,可以通過show create來查看表創建語句中系統定義的外鍵名。

補充:

  • 刪除外鍵時,如果使用desc會看到表結構還有MUL,那是一個索引。因為創建外鍵時,字段會被創建成一個索引。如果不想保留,可以使用drop index 字段名 on 表名.

外鍵的約束模式:

  • 外鍵是用來約束表之間的關系的。
  • (約定創建外鍵的表稱為子表,指向的表稱為父表)
    • 針對子表:可以約束子表的插入和修改【這種約束是父表對子表的約束】
      • 涉及到外鍵的插入和修改時,如果外鍵字段找不到對應的匹配那么會插入\修改失敗(像插入選課記錄不可能插入一門課程表中沒有的課程)。
      • 比如:
    • 針對父表:可以約束父表的刪除和更新,通常有可以以下幾種約束模式。【這種約束是子表對父表的約束】
      • 模式:
        • strict嚴格模式:涉及到外鍵的刪除和更新時,如果對應記錄的主鍵數據已經被子表使用時,那么無法刪除(像已經有人入學了某個班級,學校不可能犯傻去把某個班級刪除,只能刪除那些沒人入學的班級。)
        • cascade級聯模式:涉及到外鍵的刪除和更新時,如果字段已經被子表使用,子表中的數據會對應更新(像某個班改了班號,那么學生表中的班別都對應更改;如果某個班被刪除,就刪除對應班的所有學生)
        • set null置空模式:涉及到外鍵的刪除和更新時,如果字段已經被子表使用,那么子表中的外鍵數據會置空(像某個班被刪掉了,不應該刪掉所有學生,而是應該給他們先置空再重新分配班別)【子表允許置空的前提是該字段允許為空】
      • 其實可以給不同操作指定不同模式
      • 綜上所述(根據我的那些舉例),實際上,合適的舉措是刪除時置空(即使某個班太垃圾了,想刪除某個班,但也不應該將所有學生退學,而是將它們分到別的班),修改時級聯(允許更改班號,而且更改會更新到學生中)
      • 不同操作設置不同模式的設置方法(在子表中操作):foreign key(外鍵字段) references 父表(主鍵) on 操作 模式
        foreign key(外鍵字段) references 父表 (主鍵) on delete set null on update cascade;
-- 實驗表結構
create table class(
id int primary key auto_increment,
cname varchar(15)
);
create table student2(
id int primary key auto_increment,
name varchar(15) not null,
gender varchar(10) not null,
cid int,
foreign key(cid) references class(id) on delete set null on update cascade
);
-- 實驗表數據:
insert into class(cname) values("python"),("linux"),("java"),("html5");

insert into student2(name,gender,cid) values("Alice","female",1);
insert into student2(name,gender,cid) values("John","female",2);
insert into student2(name,gender,cid) values("Jack","female",3);
insert into student2(name,gender,cid) values("Amy","female",4);

select * from student2;
select * from class;
-- 嘗試更新級聯
update class set id = 6 where cname="python";
select * from student2; -- 結果原來的python的cid=6
-- 嘗試刪除置空
delete from class where cname="java";
select * from student2; -- 結果原來的java的cid=null

補充:

  • 需要設置好約束模式,不要在多個子表中使用不同的約束模式,不然會沖突。

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL常用函數大匯總》、《MySQL日志操作技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數據庫鎖相關技巧匯總》

希望本文所述對大家MySQL數據庫計有所幫助。

您可能感興趣的文章:
  • mysql外鍵的三種關系實例詳解
  • Mysql數據庫中數據表的優化、外鍵與三范式用法實例分析
  • MySQL創建數據表并建立主外鍵關系詳解
  • MySQL外鍵約束常見操作方法示例【查看、添加、修改、刪除】
  • MySQL無法創建外鍵的原因及解決方法
  • MySQL刪除有外鍵約束的表數據方法介紹
  • MySQL刪除表的時候忽略外鍵約束的簡單實現
  • MySQL添加外鍵時報錯:1215 Cannot add the foreign key constraint的解決方法
  • MySQL使用外鍵實現級聯刪除與更新的方法
  • Mysql表創建外鍵報錯解決方案

標簽:寧夏 恩施 澳門 杭州 益陽 秦皇島 白銀 定西

巨人網絡通訊聲明:本文標題《mysql外鍵基本功能與用法詳解》,本文關鍵詞  mysql,外鍵,基本,功能,與,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql外鍵基本功能與用法詳解》相關的同類信息!
  • 本頁收集關于mysql外鍵基本功能與用法詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    丁香五精品蜜臀久久久久99网站| 欧美制服丝袜第一页| 不卡的av网站| 久久99精品国产麻豆婷婷| 中文在线资源观看网站视频免费不卡| www.亚洲人| 成人免费的视频| 久草在线在线精品观看| 亚洲国产日韩av| 夜夜夜精品看看| 亚洲国产成人porn| 亚洲黄色av一区| 亚洲va韩国va欧美va| 亚洲成人av电影在线| 一区二区高清在线| 亚洲福利视频一区二区| 日本欧美一区二区在线观看| 亚洲aaa精品| 久色婷婷小香蕉久久| 蜜乳av一区二区三区| 韩国三级在线一区| 国产精品99久| 成人午夜又粗又硬又大| aaa欧美大片| 欧美丰满高潮xxxx喷水动漫| 久久婷婷成人综合色| 最新国产成人在线观看| 亚洲在线视频免费观看| 亚洲高清三级视频| 久久国产剧场电影| 91丨九色porny丨蝌蚪| 日韩网站在线看片你懂的| 国产精品人妖ts系列视频| 一区二区三区免费观看| 久久av资源网| 欧美日韩一级大片网址| 中文字幕第一区综合| 玖玖九九国产精品| 一区二区三区高清在线| 精品在线播放午夜| 欧美日本一区二区三区四区| 国产精品福利一区二区| 精品一区二区影视| 4hu四虎永久在线影院成人| 国产精品第四页| 不卡高清视频专区| 国产精品你懂的| 亚洲成人7777| 日韩一区二区在线播放| 喷水一区二区三区| 久久综合久久综合久久| 国产乱淫av一区二区三区| 欧美一区二区免费视频| 国产在线日韩欧美| 国产精品久久久久久久久图文区 | 久久久久久久久久电影| 精品一区二区在线免费观看| 欧美国产精品v| 日本高清视频一区二区| 麻豆免费精品视频| 亚洲天堂2014| 欧美电影精品一区二区 | 色av成人天堂桃色av| 亚洲线精品一区二区三区| 欧美mv日韩mv国产| 色综合久久久网| 久久国产福利国产秒拍| 亚洲久草在线视频| 久久久久国产精品人| av在线播放成人| 亚洲国产精品视频| 久久综合久久综合九色| 欧美性大战久久| 国产精品影视在线| 亚洲欧洲国产日韩| 国产视频一区二区在线| 日韩欧美激情一区| 成人福利视频网站| 一级精品视频在线观看宜春院| 精品一区二区影视| 美女一区二区三区| 亚洲三级在线看| 2024国产精品视频| 色老头久久综合| 精品亚洲porn| 亚洲国产综合在线| 337p亚洲精品色噜噜噜| 成人综合婷婷国产精品久久蜜臀 | 日本高清免费不卡视频| 免费在线观看精品| 一区二区三区四区蜜桃| 欧美精品一区二区精品网| 在线观看网站黄不卡| 大胆亚洲人体视频| 91香蕉国产在线观看软件| 国产一区二区三区精品视频| 亚洲一区二区三区视频在线 | 97久久精品人人澡人人爽| 秋霞午夜av一区二区三区| 亚洲一区二区三区三| 亚洲一区在线观看网站| 老司机一区二区| 看片的网站亚洲| 国产精品996| 99re在线视频这里只有精品| 国产丶欧美丶日本不卡视频| 国产99精品国产| 香蕉久久夜色精品国产使用方法| 日本sm残虐另类| 国产白丝精品91爽爽久久| 国产91丝袜在线播放| 成人久久18免费网站麻豆 | 国产亚洲欧美在线| 久久精品网站免费观看| 综合激情网...| 视频一区视频二区中文字幕| 久久国产乱子精品免费女| 国产乱人伦偷精品视频免下载| 欧美午夜影院一区| 欧美日韩久久久| 激情丁香综合五月| 亚洲狠狠爱一区二区三区| 成人美女视频在线看| 91女厕偷拍女厕偷拍高清| 国产无人区一区二区三区| av成人免费在线| 亚洲成av人片一区二区三区 | 麻豆成人久久精品二区三区红 | 一区二区三区四区在线| 天天综合网天天综合色| 国产成人av电影免费在线观看| 色综合久久天天| 中文字幕不卡的av| 亚洲最色的网站| 亚洲欧美另类图片小说| www.亚洲人| 久久久精品免费网站| 日日夜夜精品视频天天综合网| 成人h精品动漫一区二区三区| 91精品欧美一区二区三区综合在| 亚洲少妇最新在线视频| 菠萝蜜视频在线观看一区| 亚洲一本大道在线| 欧美色大人视频| 午夜一区二区三区视频| 欧美午夜不卡视频| 午夜伦欧美伦电影理论片| 欧美午夜一区二区| 国产婷婷一区二区| 欧美精品tushy高清| 蜜桃av一区二区三区电影| 精品日韩一区二区| 国产伦精品一区二区三区免费迷 | 国产精品中文字幕日韩精品| 精品欧美一区二区在线观看| 日av在线不卡| 日韩美女精品在线| 欧美日韩一卡二卡| 免费观看日韩av| 国产女人18水真多18精品一级做| 高清shemale亚洲人妖| 国产精品伦理一区二区| 久久精品国产一区二区三| 久久久天堂av| 国产在线视视频有精品| 国产91精品精华液一区二区三区| 26uuu久久天堂性欧美| a美女胸又www黄视频久久| 亚洲成人一区二区| 99re热视频精品| 欧美大片一区二区| 亚洲欧洲日韩女同| 精品一区二区三区视频在线观看| 日韩不卡免费视频| 成人免费毛片嘿嘿连载视频| 经典三级在线一区| 国产精品88888| 91国产精品成人| 久久久精品2019中文字幕之3| 亚洲素人一区二区| 亚洲人成亚洲人成在线观看图片| 五月激情综合网| 国产成人午夜片在线观看高清观看| 91网站在线播放| 精品国产青草久久久久福利| 亚洲精品成人天堂一二三| 极品少妇一区二区三区精品视频 | 色综合久久久久综合体| 久久综合色婷婷| 国产尤物一区二区| 精品国产乱码久久久久久影片| 日本中文字幕一区| 成人国产一区二区三区精品| 精品福利一二区| 欧美精品第1页| 欧美一级日韩不卡播放免费| 久久这里只精品最新地址| 91在线看国产| 精品国产乱码久久久久久夜甘婷婷| 精品久久五月天|