主頁 > 知識庫 > Mysql主鍵和唯一鍵的區(qū)別點總結

Mysql主鍵和唯一鍵的區(qū)別點總結

熱門標簽:淄博400電話申請 溫州瑞安400電話怎么申請 俄國地圖標注app 電銷機器人 行業(yè) 百度地圖標注后不顯示 昆明電信400電話辦理 電銷機器人各個細節(jié)介紹 南昌高頻外呼系統(tǒng)哪家公司做的好 電話機器人市場趨勢

什么是主鍵?

主鍵是表中唯一標識該表中每個元組(行)的列。主鍵對表實施完整性約束。表中只允許使用一個主鍵。主鍵不接受任何重復值和空值。表中的主鍵值很少更改,因此在選擇主鍵是需要小心,要選擇很少發(fā)生更改的地方。一個表的主鍵可以被另一個表的外鍵引用。

為了更好地理解主鍵,我們創(chuàng)建一個名為Student的表,它具有roll_number、name、batch、phone_number、citizen_id等屬性。

在上面的示例中,roll_number屬性永遠不能具有相同的NULL值,因為在每個大學中注冊的學生都擁有唯一的Roll_number,因此兩個學生不能擁有相同的Roll_number,并且表中的每一行都可以用學生的roll_number屬性作為唯一標識。因此,在這種情況下,我們可以將Roll_number屬性作為主鍵。

什么是唯一鍵?

唯一鍵約束可以唯一地標識關系或表中的單個元組。與主鍵不同,一個表可以有多個唯一鍵。唯一鍵約束只能接受列的一個空值;唯一約束也由另一個表的外鍵引用。當有人想對非主鍵的列和列組實施唯一約束時,可以使用它。

為了更好地理解唯一鍵,我們使用帶有Roll_number,Name,Batch,Phone_number和Citizen_ID屬性的Student表;其中Roll_number屬性已經(jīng)給主鍵。

在這個示例中,可以為Citizen_ID分配唯一約束,其中Citizen_ID列中的每個條目都應該是唯一的,而不是重復的,因為一個國家/地區(qū)的每個公民都必須擁有其唯一標識號。但是,如果學生從其他國家遷移,在這種情況下,他或她將不具有Citizen_ID,并且該條目可能具有NULL值,因為在唯一約束中允許一個NULL。

主鍵和唯一鍵之間的主要區(qū)別:

1、當一個屬性聲明為主鍵時,它將不接受NULL值。另一方面,當聲明為Unique的屬性時,它可以接受一個NULL值。

2、表中只能有一個主鍵,但可以有多個唯一鍵。

3、定義主鍵時自動創(chuàng)建聚簇索引。相反,Unique鍵生成非聚集索引。

以上就是關于Mysql主鍵和唯一鍵的區(qū)別的全部內容,感謝大家對腳本之家的支持。

您可能感興趣的文章:
  • 淺談MySQL中的自增主鍵用完了怎么辦
  • MySQL的自增ID(主鍵) 用完了的解決方法
  • 深入分析mysql為什么不推薦使用uuid或者雪花id作為主鍵
  • 詳解MySQL 表中非主鍵列溢出情況監(jiān)控
  • 使用prometheus統(tǒng)計MySQL自增主鍵的剩余可用百分比
  • Python3 操作 MySQL 插入一條數(shù)據(jù)并返回主鍵 id的實例
  • mysql非主鍵自增長用法實例分析
  • MySQL中主鍵與rowid的使用陷阱總結
  • spring boot整合mybatis利用Mysql實現(xiàn)主鍵UUID的方法
  • MySQL的主鍵命名策略相關

標簽:葫蘆島 吐魯番 甘南 安徽 嘉峪關 洛陽 拉薩

巨人網(wǎng)絡通訊聲明:本文標題《Mysql主鍵和唯一鍵的區(qū)別點總結》,本文關鍵詞  Mysql,主鍵,和,唯,一鍵,的,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Mysql主鍵和唯一鍵的區(qū)別點總結》相關的同類信息!
  • 本頁收集關于Mysql主鍵和唯一鍵的區(qū)別點總結的相關信息資訊供網(wǎng)民參考!
  • 推薦文章