1.主鍵語法
南票網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司從2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(liá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.外鍵語法
①創(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è)列組合起來達(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);
前提是原來表中沒有設(shè)置主鍵,若原先已有主鍵則會(huì)報(bào)錯(cuò)。
工具/原料
電腦? ?MySQL
方法/步驟
設(shè)置主鍵:
1、通過終端進(jìn)入到mysql命令行工具。
2、通過use關(guān)鍵字進(jìn)行到目標(biāo)數(shù)據(jù)庫里。
3、如原表已有主鍵,先把原來的主鍵刪除掉,通過DROP PRIMARY KEY命令:ALTER TABLE `jingyan` DROP PRIMARY KEY;。
4、主鍵已經(jīng)沒有了。
5、通過命令:ADD PRIMARY KEY來添加ALTER TABLE `jingyan` ADD PRIMARY KEY ( `id` ) 。
6、輸入后按下回車鍵即可看到 query ok執(zhí)行成功的字符。
7、回到數(shù)據(jù)庫的可視化工具,即可顯示現(xiàn)在的表在id列上添加了主鍵了。
設(shè)置外鍵:
1、創(chuàng)建好主從表。
2、選擇主表,點(diǎn)擊設(shè)計(jì)表,進(jìn)入到表設(shè)計(jì)界面。
3、點(diǎn)擊外鍵,進(jìn)入到外鍵設(shè)置界面。
4、先設(shè)置外鍵名稱和選擇主表的外鍵字段。
5、然后在設(shè)置外鍵字段對(duì)應(yīng)從表的數(shù)據(jù)庫、表名和字。
6、點(diǎn)擊保存就完成外鍵設(shè)置了。
主鍵是一個(gè)索引,mysql的索引是B+樹,Mysql會(huì)按照鍵值的大小進(jìn)行順序存放,如果我們?cè)O(shè)置自增id為主鍵,這個(gè)時(shí)候主鍵是按照一種緊湊的接近順序?qū)懭氲姆绞竭M(jìn)行存儲(chǔ)數(shù)據(jù)。如果我們用其他字段作為主鍵的話,此時(shí)Mysql不得不為了將新記錄插到合適位置而移動(dòng)數(shù)據(jù),甚至目標(biāo)頁面可能已經(jīng)被回寫到磁盤上而從緩存中清掉,此時(shí)又要從磁盤上讀回來,這增加了很多額外的開銷,同時(shí)頻繁的移動(dòng)、分頁操作造成了大量的碎片。
- 考慮性能消耗
- 考慮資源消耗
- 考慮分庫分表
mysql設(shè)置主鍵的代碼是PRIMARY KEY (主鍵字段)。
如:CREATE TABLE Customer (SID integer,Last_Name varchar(30),F(xiàn)irst_Name varchar(30),PRIMARY KEY (SID))。
主關(guān)鍵字(主鍵,primary key)是被挑選出來,作表的行的唯一標(biāo)識(shí)的候選關(guān)鍵字。一個(gè)表只有一個(gè)主關(guān)鍵字。主關(guān)鍵字又可以稱為主鍵。
擴(kuò)展資料:
永遠(yuǎn)也不要更新主鍵。實(shí)際上,因?yàn)橹麈I除了唯一地標(biāo)識(shí)一行之外,再?zèng)]有其他的用途了,所以也就沒有理由去對(duì)它更新。如果主鍵需要更新,則說明主鍵應(yīng)對(duì)用戶無意義的原則被違反了。
主鍵應(yīng)當(dāng)由計(jì)算機(jī)自動(dòng)生成。如果由人來對(duì)主鍵的創(chuàng)建進(jìn)行干預(yù),就會(huì)使它帶有除了唯一標(biāo)識(shí)一行以外的意義。一旦越過這個(gè)界限,就可能產(chǎn)生人為修改主鍵的動(dòng)機(jī),這樣,這種系統(tǒng)用來鏈接記錄行、管理記錄行的關(guān)鍵手段就會(huì)落入不了解數(shù)據(jù)庫設(shè)計(jì)的人的手中。
分享題目:mysql怎么聲明主鍵,mysql定義主鍵
網(wǎng)站地址:http://vcdvsql.cn/article24/hecice.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、搜索引擎優(yōu)化、網(wǎng)站營(yíng)銷、網(wǎng)站設(shè)計(jì)、網(wǎng)站維護(hù)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)