溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在mysql中設(shè)置主鍵

發(fā)布時(shí)間:2021-04-01 18:06:50 來源:億速云 閱讀:440 作者:Leah 欄目:MySQL數(shù)據(jù)庫

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)怎么在mysql中設(shè)置主鍵,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

主鍵叫做主鍵約束,是數(shù)據(jù)庫里經(jīng)常用的一種約束。為了方便查找數(shù)據(jù),會(huì)在每個(gè)表里都添加上一個(gè)主鍵。

主鍵的約束條件:

  • 主鍵的值不能為空

  • 主鍵應(yīng)該是明確且單一的

  • 為了查詢和處理的效率,主鍵一般設(shè)置在整數(shù)上

  • 由于需要查詢數(shù)據(jù),所以主鍵不能相同,所以我們會(huì)配合auto_increment(自增)屬性進(jìn)行使用

  • 一個(gè)數(shù)據(jù)表中只有一個(gè)主鍵,不能有多個(gè)主鍵

在創(chuàng)建表的時(shí)候設(shè)置主鍵

create table 表名(字段名稱 類型 primary key(字段名稱));

其中:

  • 表名:是操作的數(shù)據(jù)表的名字;

  • 字段名稱:是我們需要?jiǎng)?chuàng)建的字段;

  • 類型:需要操作的數(shù)據(jù)表字段類型;

mysql> create table cmcc (id int,name varchar(25),primary key (id));
Query OK, 0 rows affected

mysql> desc cmcc;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | NO   | PRI | NULL    |       |
| name  | varchar(25) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set

這樣就將主鍵設(shè)置好了。

在修改表的時(shí)候設(shè)置主鍵

alter table 表名 add primary key(字段);

如果在創(chuàng)建數(shù)據(jù)表的時(shí)候忘記設(shè)主鍵,可以在修改表的時(shí)候設(shè)置。(ps:我在修改表設(shè)置主鍵之前已經(jīng)將創(chuàng)建時(shí)設(shè)置的主鍵刪掉了,不存在一張數(shù)據(jù)表存在多個(gè)主鍵的問題)

mysql> alter table cmcc add primary key(name);
Query OK, 0 rows affected
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc cmcc;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | NO   |     | NULL    |       |
| name  | varchar(25) | NO   | PRI | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set

上述就是小編為大家分享的怎么在mysql中設(shè)置主鍵了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI