国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

mysql中主鍵是索引嗎

2024-07-24 12:34:06
字體:
供稿:網(wǎng)友
  在 MySQL 中,主鍵(PRIMARY KEY)的完整稱呼是“主鍵約束”,是 MySQL 中使用最為頻繁的約束。一般情況下,為了便于 DBMS 更快的查找到表中的記錄,都會(huì)在表中設(shè)置一個(gè)主鍵。
 
  使用主鍵應(yīng)注意以下幾點(diǎn):
 
  每個(gè)表只能定義一個(gè)主鍵。
  主鍵值必須唯一標(biāo)識(shí)表中的每一行,且不能為 NULL,即表中不可能存在有相同主鍵值的兩行數(shù)據(jù)。這是唯一性原則。
  一個(gè)字段名只能在聯(lián)合主鍵字段表中出現(xiàn)一次。
  聯(lián)合主鍵不能包含不必要的多余字段。當(dāng)把聯(lián)合主鍵的某一字段刪除后,如果剩下的字段構(gòu)成的主鍵仍然滿足唯一性原則,那么這個(gè)聯(lián)合主鍵是不正確的。這是最小化原則。
  在創(chuàng)建表時(shí)設(shè)置主鍵約束
 
  在創(chuàng)建數(shù)據(jù)表時(shí)設(shè)置主鍵約束,既可以為表中的一個(gè)字段設(shè)置主鍵,也可以為表中多個(gè)字段設(shè)置聯(lián)合主鍵。但是不論使用哪種方法,在一個(gè)表中主鍵只能有一個(gè)。下面分別講解設(shè)置單字段主鍵和多字段聯(lián)合主鍵的方法。
 
  1)設(shè)置單字段主鍵
 
  在 CREATE TABLE 語句中,通過 PRIMARY KEY 關(guān)鍵字來指定主鍵。
 
  在定義字段的同時(shí)指定主鍵,語法格式如下:
 
  <字段名> <數(shù)據(jù)類型> PRIMARY KEY [默認(rèn)值]
  例 1
 
  在 test_db 數(shù)據(jù)庫中創(chuàng)建 tb_emp3 數(shù)據(jù)表,其主鍵為 id,SQL 語句和運(yùn)行結(jié)果如下。
 
  mysql> CREATE TABLE tb_emp3
      -> (
      -> id INT(11) PRIMARY KEY,
      -> name VARCHAR(25),
      -> deptId INT(11),
      -> salary FLOAT
      -> );
  Query OK, 0 rows affected (0.37 sec)
 
  mysql> DESC tb_emp3;
  +--------+-------------+------+-----+---------+-------+
  | Field  | Type        | Null | Key | Default | Extra |
  +--------+-------------+------+-----+---------+-------+
  | id     | int(11)     | NO   | PRI | NULL    |       |
  | name   | varchar(25) | YES  |     | NULL    |       |
  | deptId | int(11)     | YES  |     | NULL    |       |
  | salary | float       | YES  |     | NULL    |       |
  +--------+-------------+------+-----+---------+-------+
  4 rows in set (0.14 sec)
  或者是在定義完所有字段之后指定主鍵,語法格式如下:
 
  [CONSTRAINT <約束名>] PRIMARY KEY [字段名]
 
  2)在創(chuàng)建表時(shí)設(shè)置聯(lián)合主鍵
 
  所謂的聯(lián)合主鍵,就是這個(gè)主鍵是由一張表中多個(gè)字段組成的。
 
  比如,設(shè)置學(xué)生選課數(shù)據(jù)表時(shí),使用學(xué)生編號(hào)做主鍵還是用課程編號(hào)做主鍵呢?如果用學(xué)生編號(hào)做主鍵,那么一個(gè)學(xué)生就只能選擇一門課程。如果用課程編號(hào)做主鍵,那么一門課程只能有一個(gè)學(xué)生來選。顯然,這兩種情況都是不符合實(shí)際情況的。

(編輯:武林網(wǎng))

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 华池县| 无极县| 安顺市| 咸宁市| 城口县| 会昌县| 寿阳县| 江源县| 卢氏县| 郎溪县| 洞头县| 蛟河市| 白城市| 旬阳县| 青龙| 万源市| 泌阳县| 建昌县| 儋州市| 祁门县| 麻栗坡县| 泸溪县| 达尔| 涞源县| 峡江县| 泰州市| 莱阳市| 宁远县| 宝清县| 望江县| 旬阳县| 衡东县| 永嘉县| 洱源县| 博兴县| 迭部县| 万荣县| 宣恩县| 六安市| 吴桥县| 凌海市|