• ADADADADAD

    mysql修改表时如何添加主键约束[ mysql数据库 ]

    mysql数据库 时间:2024-11-29 10:10:11

    作者:文/会员上传

    简介:

    mysql中可以通过“ALTER TABLE 表名 ADD PRIMARY KEY(字段名);”语句在修改数据表时添加主键约束;当在修改表时要设置表中某个字段的主键约束时,要确保设置成主键约束的字段中

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

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

    主键(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)

    修改数据表 tb_emp2,将字段 id 设置为主键,SQL 语句和运行结果如下。

    mysql> ALTER TABLE tb_emp2-> ADD PRIMARY KEY(id);Query OK, 0 rows affected (0.94 sec)Records: 0Duplicates: 0Warnings: 0mysql> 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修改表时如何添加主键约束.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysql改表