您好,登錄后才能下訂單哦!
本篇內容主要講解“mysql中主鍵是不是唯一的”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“mysql中主鍵是不是唯一的”吧!
主鍵是唯一的。所有的數據庫主鍵都是唯一,反過來說想將一個表的某個字段設置為主鍵,該字段的數據必須是唯一的,這個是必要條件。主鍵值能唯一地標識表中的每一行,通過它可強制表的實體完整性;主鍵的作用是確定該數據的唯一性,主要是用于和其他表的外鍵關聯,以及本記錄的修改與刪除。
所有的數據庫主鍵都是唯一,反過來說想將一個表的某個字段設置為主鍵,該字段的數據必須是唯一的,這個是必要條件。
mysql中主鍵
主鍵(PRIMARY KEY)的完整稱呼是“主鍵約束”,是 MySQL 中使用最為頻繁的約束。一般情況下,為了便于 DBMS 更快的查找到表中的記錄,都會在表中設置一個主鍵。
主鍵分為單字段主鍵和多字段聯合主鍵,本節將分別講解這兩種主鍵約束的創建、修改和刪除。
使用主鍵應注意以下幾點:
每個表只能定義一個主鍵。
主鍵值必須唯一標識表中的每一行,且不能為 NULL,即表中不可能存在有相同主鍵值的兩行數據。這是唯一性原則。
一個字段名只能在聯合主鍵字段表中出現一次。
聯合主鍵不能包含不必要的多余字段。當把聯合主鍵的某一字段刪除后,如果剩下的字段構成的主鍵仍然滿足唯一性原則,那么這個聯合主鍵是不正確的。這是最小化原則。
在修改表時添加主鍵約束
主鍵約束不僅可以在創建表的同時創建,也可以在修改表時添加。但是需要注意的是,設置成主鍵約束的字段中不允許有空值。
在修改數據表時添加主鍵約束的語法格式如下:
ALTER TABLE <數據表名> ADD PRIMARY KEY(<字段名>);
查看 tb_emp2 數據表的表結構,SQL 語句和運行結果如下所示。
DESC tb_emp2;
示例:
修改數據表 tb_emp2,將字段 id 設置為主鍵,SQL 語句和運行結果如下。
ALTER TABLE tb_emp2 ADD PRIMARY KEY(id);
通常情況下,當在修改表時要設置表中某個字段的主鍵約束時,要確保設置成主鍵約束的字段中值不能夠有重復的,并且要保證是非空的。否則,無法設置主鍵約束。
刪除主鍵約束
當一個表中不需要主鍵約束時,就需要從表中將其刪除。刪除主鍵約束的方法要比創建主鍵約束容易的多。
刪除主鍵約束的語法格式如下所示:
ALTER TABLE <數據表名> DROP PRIMARY KEY;
示例:
刪除 tb_emp2 表中的主鍵約束,SQL 語句和運行結果如下。
ALTER TABLE tb_emp2 DROP PRIMARY KEY;
由于主鍵約束在一個表中只能有一個,因此不需要指定主鍵名就可以刪除一個表中的主鍵約束。
到此,相信大家對“mysql中主鍵是不是唯一的”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。