mysql如何添加主键?


本文摘自PHP中文网,作者青灯夜游,侵删。

“主键(PRIMARY KEY)”的完整称呼是“主键约束”。MySQL 主键约束是一个列或者列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可以强制表的实体完整性。那么在MySQL中如何添加主键约束?下面本篇文章就给大家介绍一下。

主键约束即在表中定义一个主键来唯一确定表中每一行数据的标识符。主键可以是表中的某一列或者多列的组合,其中由多列组合的主键称为复合主键。主键应该遵守下面的规则:

● 每个表只能定义一个主键。

● 主键值必须唯一标识表中的每一行,且不能为 NULL,即表中不可能存在两行数据有相同的主键值。这是唯一性原则。

● 一个列名只能在复合主键列表中出现一次。

● 复合主键不能包含不必要的多余列。当把复合主键的某一列删除后,如果剩下的列构成的主键仍然满足唯一性原则,那么这个复合主键是不正确的。这是最小化原则。

1、在创建表时添加主键约束

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

在定义列的同时指定主键,语法规则如下:

1

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

例:在 test_db 数据库中创建 tb_emp 1 数据表,其主键为 id

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

mysql> CREATE TABLE tb_emp1

    -> (

    -> id INT(11) PRIMARY KEY,

    -> name VARCHAR(25),

    -> deptId INT(11),

    -> salary FLOAT

    -> );

Query OK, 0 rows affected (0.37 sec)

mysql> DESC tb_emp1;

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

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

在定义完所有列之后,指定主键的语法格式为:

1

[CONSTRAINT <约束名>] PRIMARY KEY [字段名]

示例:在 test_db 数据库中创建 tb_emp 2 数据表,其主键为 id

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

mysql> CREATE TABLE tb_emp2

    -> (

    -> 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_emp2;

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

| 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、在创建表后添加主键约束

阅读剩余部分

相关阅读 >>

mysql多表连接查询操作实例

mysql搜索引擎及其区别

mysql如何批量修改字符集

mysql数据备份方法的选择与思考

分享一个纯 python 实现的 mysql 客户端操作库

如何使用jsp连接mysql数据库的方法

如何对mysql数据库的表结构进行修改

mysql导入数据时出现乱码怎么办

mysql如何添加索引

mysql数据库难学吗?

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...