首頁 > 資料庫 > mysql教程 > mysql中主鍵是唯一的嗎

mysql中主鍵是唯一的嗎

青灯夜游
發布: 2022-11-11 16:23:55
原創
6541 人瀏覽過

主鍵是唯一的。所有的資料庫主鍵都是唯一,反過來說想將一個表格的某個欄位設定為主鍵,而該欄位的資料必須是唯一的,這個是必要條件。主鍵值能唯一地標識表中的每一行,透過它可強製表的實體完整性;主鍵的作用是確定該資料的唯一性,主要是用於和其他表的外鍵關聯,以及本記錄的修改與刪除。

mysql中主鍵是唯一的嗎

本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。

所有的資料庫主鍵都是唯一,反過來說想將一個表格的某個欄位設定為主鍵,而該欄位的資料必須是唯一的,而這個是必要條件。

mysql中主鍵

主鍵(PRIMARY KEY)的完整稱呼是“主鍵限制”,是 MySQL 中使用最為頻繁的限制。一般情況下,為了方便 DBMS 更快的查找到表中的記錄,都會在表中設定一個主鍵。

主鍵分為單一欄位主鍵和多字段聯合主鍵,本節將分別講解這兩種主鍵約束的建立、修改和刪除。

使用主鍵應注意以下幾點:

  • 每個表只能定義一個主鍵。

  • 主鍵值必須唯一標識表中的每一行,且不能為 NULL,即表中不可能存在具有相同主鍵值的兩行資料。這是唯一性原則。

  • 一個欄位名稱只能在聯合主鍵欄位表中出現一次。

  • 聯合主鍵不能包含不必要的多餘欄位。當刪除聯合主鍵的某一欄位後,如果剩下的欄位所構成的主鍵仍然滿足唯一性原則,那麼這個聯合主鍵是不正確的。這是最小化原則。

在修改表格時新增主鍵約束

主鍵約束不僅可以在建立表格的同時創建,也可以在修改表格時新增。但是要注意的是,設定成主鍵約束的欄位中不允許有空值。

在修改資料表時新增主鍵約束的語法格式如下:

ALTER TABLE <数据表名> ADD PRIMARY KEY(<字段名>);
登入後複製

檢視 tb_emp2 資料表的資料表結構,SQL 語句和執行結果如下所示。

DESC tb_emp2;
登入後複製

mysql中主鍵是唯一的嗎

範例:

#修改資料表tb_emp2,將欄位id 設定為主鍵,SQL 語句和執行結果如下。

ALTER TABLE tb_emp2 ADD PRIMARY KEY(id);
登入後複製

mysql中主鍵是唯一的嗎

通常情況下,當在修改表時要設定表中某個欄位的主鍵約束時,要確保設定成主鍵約束的欄位中值不能夠有重複的,並且要保證是非空的。否則,無法設定主鍵約束。

刪除主鍵約束

當一個表中不需要主鍵約束時,就需要從表中刪除。刪除主鍵約束的方法比建立主鍵約束容易的多。

刪除主鍵約束的語法格式如下所示:

ALTER TABLE <数据表名> DROP PRIMARY KEY;
登入後複製

範例:

刪除tb_emp2 表中的主鍵約束,SQL 語句和執行結果如下。

ALTER TABLE tb_emp2 DROP PRIMARY KEY;
登入後複製

mysql中主鍵是唯一的嗎

由於主鍵約束在一個表中只能有一個,因此不需要指定主鍵名就可以刪除一個表中的主鍵約束。

【相關推薦:mysql影片教學

#

以上是mysql中主鍵是唯一的嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板