日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql建表时主键_mysql建表时怎么设置主键?

發布時間:2023/12/2 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql建表时主键_mysql建表时怎么设置主键? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

設置方法:在“CREATE TABLE”語句中,通過“PRIMARY KEY”關鍵字來指定主鍵,語法格式“字段名 數據類型 PRIMARY KEY [默認值]”或“[CONSTRAINT 約束名] PRIMARY KEY 字段名”。

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

在創建表時設置主鍵約束

在創建數據表時設置主鍵約束,既可以為表中的一個字段設置主鍵,也可以為表中多個字段設置聯合主鍵。但是不論使用哪種方法,在一個表中主鍵只能有一個。下面分別講解設置單字段主鍵和多字段聯合主鍵的方法。

1)設置單字段主鍵

在 CREATE TABLE 語句中,通過 PRIMARY KEY 關鍵字來指定主鍵。

在定義字段的同時指定主鍵,語法格式如下: PRIMARY KEY [默認值]

例 1

在 test_db 數據庫中創建 tb_emp3 數據表,其主鍵為 id,SQL 語句和運行結果如下。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

在 test_db 數據庫中創建 tb_emp4 數據表,其主鍵為 id,SQL 語句和運行結果如下。mysql> CREATE TABLE tb_emp4

-> (

-> id INT(11),

-> name VARCHAR(25),

-> deptId INT(11),

-> salary FLOAT,

-> PRIMARY KEY(id)

-> );

Query OK, 0 rows affected (0.37 sec)

mysql> DESC tb_emp4;

+--------+-------------+------+-----+---------+-------+

| 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)

2)在創建表時設置聯合主鍵

所謂的聯合主鍵,就是這個主鍵是由一張表中多個字段組成的。

比如,設置學生選課數據表時,使用學生編號做主鍵還是用課程編號做主鍵呢?如果用學生編號做主鍵,那么一個學生就只能選擇一門課程。如果用課程編號做主鍵,那么一門課程只能有一個學生來選。顯然,這兩種情況都是不符合實際情況的。

實際上設計學生選課表,要限定的是一個學生只能選擇同一課程一次。因此,學生編號和課程編號可以放在一起共同作為主鍵,這也就是聯合主鍵了。

主鍵由多個字段聯合組成,語法格式如下:PRIMARY KEY [字段1,字段2,…,字段n]

注意:當主鍵是由多個字段組成時,不能直接在字段名后面聲明主鍵約束。

例 3

創建數據表 tb_emp5,假設表中沒有主鍵 id,為了唯一確定一個員工,可以把 name、deptId 聯合起來作為主鍵,SQL 語句和運行結果如下。mysql> CREATE TABLE tb_emp5

-> (

-> name VARCHAR(25),

-> deptId INT(11),

-> salary FLOAT,

-> PRIMARY KEY(id,deptId)

-> );

Query OK, 0 rows affected (0.37 sec)

mysql> DESC tb_emp5;

+--------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+--------+-------------+------+-----+---------+-------+

| name | varchar(25) | NO | PRI | NULL | |

| deptId | int(11) | NO | PRI | NULL | |

| salary | float | YES | | NULL | |

+--------+-------------+------+-----+---------+-------+

3 rows in set (0.14 sec)

相關推薦:php培訓

總結

以上是生活随笔為你收集整理的mysql建表时主键_mysql建表时怎么设置主键?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。