mysql主鍵外鍵怎么寫,mysql主鍵和外鍵

在MySQL中如何設(shè)置主鍵和外鍵

1.外鍵的作用,主要有兩個:

創(chuàng)新互聯(lián)建站總部坐落于成都市區(qū),致力網(wǎng)站建設(shè)服務(wù)有網(wǎng)站設(shè)計、成都做網(wǎng)站、網(wǎng)絡(luò)營銷策劃、網(wǎng)頁設(shè)計、網(wǎng)站維護、公眾號搭建、微信小程序定制開發(fā)、軟件開發(fā)等為企業(yè)提供一整套的信息化建設(shè)解決方案。創(chuàng)造真正意義上的網(wǎng)站建設(shè),為互聯(lián)網(wǎng)品牌在互動行銷領(lǐng)域創(chuàng)造價值而不懈努力!

一個是讓數(shù)據(jù)庫自己通過外鍵來保證數(shù)據(jù)的完整性和一致性

一個就是能夠增加ER圖的可讀性

2.外鍵的配置

1)先創(chuàng)建一個主表,代碼如下:

#創(chuàng)建表student,并添加各種約束

create table student

(

id int primary key , #主鍵約束

name varchar(20) , #唯一約束

age int NOT NULL, #非空約束

sex varchar(2) ,

address varchar(20) default '重慶' #默認約束

) ;

再通過一個外鍵,創(chuàng)建一個分數(shù)表,這樣的話,就可以方便查詢。代碼如下:

#創(chuàng)建分數(shù)表

create table score

(

id int primary key ,

sid int ,

china int ,

history int,

english int,

constraint FK_sid foreign key(sid) references student(id) #通過外鍵創(chuàng)建鏈接

) ;

創(chuàng)建外鍵的方法有很多,其中最常見創(chuàng)建外鍵的格式是:constraint FK_*** foreign key(**) references 鏈接的外表

刪除外鍵:

alter table drop foreign key '外鍵名'.

注意:

只有在定義外鍵時,用constraint 外鍵名 foreign key .... 方便進行外鍵的刪除

主鍵是唯一標示這一行的,就好像你的身份證號一樣,每個人只有一個,也是唯一能證明你是你的東西。外鍵是別人執(zhí)行你的東西。也就是說如果一個人想和你有點關(guān)系怎么辦,那就要關(guān)聯(lián)起來,怎么關(guān)聯(lián)起來,就通過外鍵啊

定義主鍵和外鍵主要是為了維護關(guān)系數(shù)據(jù)庫的完整性,總結(jié)一下:

一、主鍵是能確定一條記錄的唯一標識,比如,一條記錄包括身份正號,姓名,年齡。身份證號是唯一能確定你這個人的,其他都可能有重復(fù),所以,身份證號是主鍵。

外鍵用于與另一張表的關(guān)聯(lián)。是能確定另一張表記錄的字段,用于保持數(shù)據(jù)的一致性。比如,A表中的一個字段,是B表的主鍵,那他就可以是A表的外鍵。

MySQL之主鍵、外鍵、連接

設(shè)置主鍵的思路:業(yè)務(wù)字段做主鍵、自增字典做主鍵、手動賦值字段做主鍵。

多表查詢:分散在多個不同的表里的數(shù)據(jù)查詢出來的操作。

外鍵:從表中用來引用主表中數(shù)據(jù)的那個公共字段。

連接有2種類型的連接:內(nèi)連接(inner join)和外連接(outer join)

內(nèi)連接:查詢結(jié)果只返回符合連接條件的記錄。

外連接:查詢結(jié)果返回某一個表中的所有記錄,以及另一個表中滿足連接條件的記錄。

其中左連接:left join,返回左表中的所有記錄,以及右表中符合連接條件的記錄。

右連接:right join,返回右表中的所有記錄,以及左表中符合連接條件的記錄。

mysql外鍵怎么寫

mysql添加外鍵:

為已經(jīng)添加好的數(shù)據(jù)表添加外鍵:

語法:alter table 表名 add constraint FK_ID foreign key(你的外鍵字段名) REFERENCES 外表表名(對應(yīng)的表的主鍵字段名);

例: alter table tb_active add constraint FK_ID foreign key(user_id) REFERENCES tb_user(id)

//FK_ID是外鍵的名稱

/*

CREATE TABLE `tb_active` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`title` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,

`content` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,

`user_id` int(11) NOT NULL,

PRIMARY KEY (`id`),

KEY `user_id` (`user_id`),

KEY `user_id_2` (`user_id`),

CONSTRAINT `FK_ID` FOREIGN KEY (`user_id`) REFERENCES `tb_user` (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1

*/

MySQL如何創(chuàng)建主鍵,外鍵和復(fù)合主鍵

1.創(chuàng)建主鍵語法

ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名);

2.創(chuàng)建外鍵語法

ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[約束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ;

3.使用組合主鍵

如果一列不能唯一區(qū)分一個表里的記錄時,可以考慮多個列組合起來達到區(qū)分表記錄的唯一性,形式

①創(chuàng)建時:create table sc (

studentno int,

courseid int,

score int,

primary key (studentno,courseid) );

②修改時:alter table tb_name add primary key (字段1,字段2,字段3);

名稱欄目:mysql主鍵外鍵怎么寫,mysql主鍵和外鍵
當前鏈接:http://muchs.cn/article36/hcposg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄企業(yè)網(wǎng)站制作、小程序開發(fā)、虛擬主機、微信公眾號網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司