mysql修改表时怎么添加主键约束?

互联网 20-10-12

mysql中可以通过“ALTER TABLE 表名 ADD PRIMARY KEY(字段名);”语句在修改数据表时添加主键约束;当在修改表时要设置表中某个字段的主键约束时,要确保设置成主键约束的字段中值不能够有重复的,并且要保证是非空的。

(推荐教程:mysql视频教程)

主键(PRIMARY KEY)的完整称呼是“主键约束”,是 MySQL 中使用最为频繁的约束。一般情况下,为了便于 DBMS 更快的查找到表中的记录,都会在表中设置一个主键。

在创建表时设置主键约束

在 CREATE TABLE 语句中,通过 PRIMARY KEY 关键字来指定主键。

在定义字段的同时指定主键,语法格式如下:

<字段名> <数据类型> PRIMARY KEY [默认值]

示例

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

在修改表时添加主键约束

主键约束不仅可以在创建表的同时创建,也可以在修改表时添加。但是需要注意的是,设置成主键约束的字段中不允许有空值。

在修改数据表时添加主键约束的语法格式如下:

ALTER TABLE <数据表名> ADD PRIMARY KEY(<字段名>);

通常情况下,当在修改表时要设置表中某个字段的主键约束时,要确保设置成主键约束的字段中值不能够有重复的,并且要保证是非空的。否则,无法设置主键约束。

示例

查看 tb_emp2 数据表的表结构,SQL 语句和运行结果如下所示。

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)
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修改表时怎么添加主键约束?的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: MySQL
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:MySQL如何配置参数tmp_table_size

相关资讯