您好,登錄后才能下訂單哦!
小編給大家分享一下mysql修改表時如何添加主鍵約束,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
mysql中可以通過“ALTER TABLE 表名 ADD PRIMARY KEY(字段名);”語句在修改數(shù)據(jù)表時添加主鍵約束;當在修改表時要設(shè)置表中某個字段的主鍵約束時,要確保設(shè)置成主鍵約束的字段中值不能夠有重復的,并且要保證是非空的。
主鍵(PRIMARY KEY)的完整稱呼是“主鍵約束”,是 MySQL 中使用最為頻繁的約束。一般情況下,為了便于 DBMS 更快的查找到表中的記錄,都會在表中設(shè)置一個主鍵。
在創(chuàng)建表時設(shè)置主鍵約束
在 CREATE TABLE 語句中,通過 PRIMARY KEY 關(guān)鍵字來指定主鍵。
在定義字段的同時指定主鍵,語法格式如下:
<字段名> <數(shù)據(jù)類型> PRIMARY KEY [默認值]
示例
在 test_db 數(shù)據(jù)庫中創(chuàng)建 tb_emp3 數(shù)據(jù)表,其主鍵為 id,SQL 語句和運行結(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)
在修改表時添加主鍵約束
主鍵約束不僅可以在創(chuàng)建表的同時創(chuàng)建,也可以在修改表時添加。但是需要注意的是,設(shè)置成主鍵約束的字段中不允許有空值。
在修改數(shù)據(jù)表時添加主鍵約束的語法格式如下:
ALTER TABLE <數(shù)據(jù)表名> ADD PRIMARY KEY(<字段名>);
通常情況下,當在修改表時要設(shè)置表中某個字段的主鍵約束時,要確保設(shè)置成主鍵約束的字段中值不能夠有重復的,并且要保證是非空的。否則,無法設(shè)置主鍵約束。
示例
查看 tb_emp2 數(shù)據(jù)表的表結(jié)構(gòu),SQL 語句和運行結(jié)果如下所示。
mysql> DESC tb_emp2; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(11) | NO | | NULL | | | name | varchar(30) | YES | | NULL | | | deptId | int(11) | YES | | NULL | | | salary | float | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 4 rows in set (0.14 sec)
修改數(shù)據(jù)表 tb_emp2,將字段 id 設(shè)置為主鍵,SQL 語句和運行結(jié)果如下。
mysql> ALTER TABLE tb_emp2 -> ADD PRIMARY KEY(id); Query OK, 0 rows affected (0.94 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_emp2; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(30) | YES | | NULL | | | deptId | int(11) | YES | | NULL | | | salary | float | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 4 rows in set (0.12 sec)
看完了這篇文章,相信你對mysql修改表時如何添加主鍵約束有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。