• 技术文章 >数据库 >mysql教程

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

    青灯夜游青灯夜游2020-10-12 11:28:05原创54

    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)

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

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

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!
    专题推荐:mysql
    上一篇:MySQL如何配置参数tmp_table_size 下一篇:访问mysql需要权限怎么办
    第13期线上培训班

    相关文章推荐

    • mysql出现错误代码2502怎么办• mysql表如何添加字段注释• mysql中如何取月份?• mysql如何实现数据切分• mysql如何查看字段是否为空

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网