courseidint,
創(chuàng)新互聯(lián)于2013年開始,公司以網(wǎng)站建設(shè)、成都網(wǎng)站制作、系統(tǒng)開發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶1000+,涉及國內(nèi)多個省份客戶。擁有多年網(wǎng)站建設(shè)開發(fā)經(jīng)驗。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計、宣傳推廣等服務(wù)。 通過專業(yè)的設(shè)計、獨(dú)特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。
scoreint,primarykey(studentno) );
②修改時:ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名);
前提是原先沒有設(shè)置主鍵。
2.外鍵語法①創(chuàng)建時:createtablesc (studentnoint,
courseidint,
scoreint,foreignkey(courseid) );②修改時:ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[約束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ;
3.使用組合主鍵
如果一列不能唯一區(qū)分一個表里的記錄時,可以考慮多個列組合起來達(dá)到區(qū)分表記錄的唯一性,形式①創(chuàng)建時:createtablesc (studentnoint,
courseidint,
scoreint,primarykey(studentno,courseid) );
②修改時:alter table tb_name add primary key (字段1,字段2,字段3);
主鍵只能有一個。
但是,如果你想用多個‘唯一索引’(unique index),是可以有多個的。
主鍵的作用是保證數(shù)據(jù)的唯一性和完整性,同時通過主鍵檢索表能夠增加檢索速度。
所謂的一張表多個主鍵,我們稱之為聯(lián)合主鍵。
可以由多個列形成聯(lián)合主鍵,但是主鍵只能有一個
1、打開navicat工具,連接上mysql服務(wù)器,選擇完數(shù)據(jù)庫之后,選擇一個表右擊選擇設(shè)計表(這里為了演示測試,隨便選擇一個表即可)。
2、在設(shè)計表頁面,可以看到當(dāng)前表的所有字段信息,我們選擇的學(xué)生表有一個id字段,目前該表沒有主鍵字段。
3、如圖,在最后一列右擊選擇主鍵,即可將該字段設(shè)置為主鍵,也可以直接點(diǎn)擊鼠標(biāo)左鍵,可以快速添加和取消主鍵。
4、設(shè)置完主鍵之后,可以看到一把鎖的標(biāo)志,并且有一個1字,因為一個表可以給多個字段添加主鍵,則為聯(lián)合主鍵,這樣就顯示為主鍵1,主鍵2等。
5、主鍵設(shè)置完成之后,還沒有自增,選擇id字段之后,在下方,如圖,勾選自動遞增,這樣id在每次插入記錄之后都會自增一個值。
6、設(shè)置完成主鍵和自增之后,點(diǎn)擊保存,關(guān)閉當(dāng)前窗口,然后選擇表名右擊選擇對象信息。
7、在DLL頁面中,可以看到剛剛添加的主鍵和自增的DLL語句,這里就是創(chuàng)建表的DLL語句。
8、上面有提到聯(lián)合主鍵,其實一個表可以給多個字段設(shè)置主鍵,這樣可以組成聯(lián)合主鍵,對于特定的業(yè)務(wù),聯(lián)合主鍵也是必須的。
create table 表名
(
)
一個表中只能有一個主鍵約束和唯一約束,但一個主鍵約束可以在多列上.