1.主鍵語(yǔ)法
為榕城等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及榕城網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、榕城網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
①創(chuàng)建時(shí):create table sc (
studentno int,
courseid int,
score int,
primary key (studentno) );
②修改時(shí):ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名);
前提是原先沒有設(shè)置主鍵。
2.外鍵語(yǔ)法
①創(chuàng)建時(shí):create table sc (
studentno int,
courseid int,
score int,
foreign key (courseid) );
②修改時(shí):
ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[約束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ;
3.使用組合主鍵
如果一列不能唯一區(qū)分一個(gè)表里的記錄時(shí),可以考慮多個(gè)列組合起來(lái)達(dá)到區(qū)分表記錄的唯一性,形式
①創(chuàng)建時(shí):create table sc (
studentno int,
courseid int,
score int,
primary key (studentno,courseid) );
②修改時(shí):alter table tb_name add primary key (字段1,字段2,字段3);
前提是原來(lái)表中沒有設(shè)置主鍵,若原先已有主鍵則會(huì)報(bào)錯(cuò)。
一、mysql 表中如果是單主鍵的話,那這個(gè)主鍵也會(huì)被 系統(tǒng)默認(rèn)建為 索引
二、mysql 表中如果是復(fù)合主鍵的話,那系統(tǒng)會(huì)遵循左對(duì)齊原則,即如復(fù)合主鍵 a 和 b字段和c字段..., 默認(rèn)建的主鍵索引是abc即主鍵全有,把所有主鍵全部建立在一個(gè)單獨(dú)的主鍵索引中。
1.外鍵的作用,主要有兩個(gè):
一個(gè)是讓數(shù)據(jù)庫(kù)自己通過(guò)外鍵來(lái)保證數(shù)據(jù)的完整性和一致性
一個(gè)就是能夠增加ER圖的可讀性
2.外鍵的配置
1)先創(chuàng)建一個(gè)主表,代碼如下:
#創(chuàng)建表student,并添加各種約束
create table student
(
id int primary key , #主鍵約束
name varchar(20) , #唯一約束
age int NOT NULL, #非空約束
sex varchar(2) ,
address varchar(20) default '重慶' #默認(rèn)約束
) ;
再通過(guò)一個(gè)外鍵,創(chuàng)建一個(gè)分?jǐn)?shù)表,這樣的話,就可以方便查詢。代碼如下:
#創(chuàng)建分?jǐn)?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) #通過(guò)外鍵創(chuàng)建鏈接
) ;
創(chuàng)建外鍵的方法有很多,其中最常見創(chuàng)建外鍵的格式是:constraint FK_*** foreign key(**) references 鏈接的外表
刪除外鍵:
alter table drop foreign key '外鍵名'.
注意:
只有在定義外鍵時(shí),用constraint 外鍵名 foreign key .... 方便進(jìn)行外鍵的刪除
主鍵是唯一標(biāo)示這一行的,就好像你的身份證號(hào)一樣,每個(gè)人只有一個(gè),也是唯一能證明你是你的東西。外鍵是別人執(zhí)行你的東西。也就是說(shuō)如果一個(gè)人想和你有點(diǎn)關(guān)系怎么辦,那就要關(guān)聯(lián)起來(lái),怎么關(guān)聯(lián)起來(lái),就通過(guò)外鍵啊
定義主鍵和外鍵主要是為了維護(hù)關(guān)系數(shù)據(jù)庫(kù)的完整性,總結(jié)一下:
一、主鍵是能確定一條記錄的唯一標(biāo)識(shí),比如,一條記錄包括身份正號(hào),姓名,年齡。身份證號(hào)是唯一能確定你這個(gè)人的,其他都可能有重復(fù),所以,身份證號(hào)是主鍵。
外鍵用于與另一張表的關(guān)聯(lián)。是能確定另一張表記錄的字段,用于保持?jǐn)?shù)據(jù)的一致性。比如,A表中的一個(gè)字段,是B表的主鍵,那他就可以是A表的外鍵。
主鍵一般都是設(shè)的自增, 可以寫null,
insert into table_name values(null,'xx','zz')