你創(chuàng)建表字段的時(shí)候就能看見這個(gè),最后面的鑰匙就是主鍵的意思,你點(diǎn)一下那個(gè)空表格就有了
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、望都網(wǎng)站維護(hù)、網(wǎng)站推廣。
自增?
主鍵自增:
CREATE?TABLE???test
(
id?INT?UNSIGNED?NOT?NULL?PRIMARY?KEY?AUTO_INCREMENT,
username?VARCHAR(15)?NOT?NULL
)AUTO_INCREMENT?=?100;
可在建表時(shí)可用“AUTO_INCREMENT=n”選項(xiàng)來指定一個(gè)自增的初始值。
alter?table?tbname?auto_increment?=?x?;
設(shè)置表tbname的唯一auto_increment字段起始值從x開始,如果此表數(shù)據(jù)量很多的話,這樣執(zhí)行起來會(huì)很慢
AUTO_INCREMENT說明:
(1)如果把一個(gè)NULL插入到一個(gè)AUTO_INCREMENT數(shù)據(jù)列里去,MySQL將自動(dòng)生成下一個(gè)序列編號(hào)。編號(hào)從1開始,并1為基數(shù)遞增。
(2)把0插入AUTO_INCREMENT數(shù)據(jù)列的效果與插入NULL值一樣。但不建議這樣做,還是以插入NULL值為好。
(3)當(dāng)插入記錄時(shí),沒有為AUTO_INCREMENT明確指定值,則等同插入NULL值。
(4)當(dāng)插入記錄時(shí),如果為AUTO_INCREMENT數(shù)據(jù)列明確指定了一個(gè)數(shù)值,則會(huì)出現(xiàn)兩種情況,情況一,如果插入的值與已有的編號(hào)重復(fù),則會(huì)出現(xiàn)出錯(cuò)信息,因?yàn)锳UTO_INCREMENT數(shù)據(jù)列的值必須是唯一的;情況二,如果插入的值大于已編號(hào)的值,則會(huì)把該插入到數(shù)據(jù)列中,并使在下一個(gè)編號(hào)將從這個(gè)新值開始遞增。也就是說,可以跳過一些編號(hào)。
(5)如果用UPDATE命令更新自增列,如果列值與已有的值重復(fù),則會(huì)出錯(cuò)。如果大于已有值,則下一個(gè)編號(hào)從該值開始遞增。
工具/材料:Management Studio。
1、首先在桌面上,點(diǎn)擊“Management Studio”圖標(biāo)。
2、之后在該界面中,右鍵點(diǎn)擊Student表里“設(shè)計(jì)”選項(xiàng)。
3、接著在該界面中,右鍵點(diǎn)擊“Sno”屬性里“設(shè)置主鍵”選項(xiàng)。
4、然后在該界面中,表Student設(shè)置Sno主鍵成功。
5、之后在該界面中,右鍵點(diǎn)擊Course表里“設(shè)計(jì)”選項(xiàng)。
6、接著在該界面中,右鍵點(diǎn)擊“Cno”屬性里“設(shè)置主鍵”選項(xiàng)。
7、然后在該界面中,表Course設(shè)置Cno主鍵成功。
8、接著在該界面中,右鍵點(diǎn)擊SC表里“設(shè)計(jì)”選項(xiàng)。
9、然后在該界面中,右鍵點(diǎn)擊“Sno”屬性里“關(guān)系”選項(xiàng)。
10、接著在該界面中,選擇主鍵表為Student表里的“Sno”屬性。
11、然后在該界面中,右鍵點(diǎn)擊“Cno”屬性里“關(guān)系”選項(xiàng)。
12、接著在該界面中,選擇主鍵表為Course表里的“Cno”屬性。
13、最后在該界面中,表SC設(shè)置Sno外鍵,Cno外鍵成功。
SELECT
t.TABLE_NAME,
t.CONSTRAINT_TYPE,
c.COLUMN_NAME,
c.ORDINAL_POSITION
FROM
INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t,
INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS c
WHERE
t.TABLE_NAME = c.TABLE_NAME
AND t.TABLE_SCHEMA = 'test'
AND t.CONSTRAINT_TYPE = 'PRIMARY KEY';
測試執(zhí)行結(jié)果如下:
mysql SELECT
- t.TABLE_NAME,
- t.CONSTRAINT_TYPE,
- c.COLUMN_NAME,
- c.ORDINAL_POSITION
- FROM
- INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t,
- INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS c
- WHERE
- t.TABLE_NAME = c.TABLE_NAME
- AND t.TABLE_SCHEMA = 'test'
- AND t.CONSTRAINT_TYPE = 'PRIMARY KEY'
- LIMIT 3;
+------------+-----------------+-------------+------------------+
| TABLE_NAME | CONSTRAINT_TYPE | COLUMN_NAME | ORDINAL_POSITION |
+------------+-----------------+-------------+------------------+
| mr_dept | PRIMARY KEY | dept_id | 1 |
| order | PRIMARY KEY | id | 1 |
| tab | PRIMARY KEY | id | 1 |
+------------+-----------------+-------------+------------------+
3 rows in set (0.06 sec)