当前位置:嗨网首页>书籍在线阅读

04-主键约束

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

5.1.2 主键约束

主键,又称主码,是表中一列或多列的组合。主键约束(Primary Key Constraint)要求主键列的数据唯一,并且不允许为空。主键能够唯一标识表中的一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度。主键和记录之间的关系如同身份证和人之间的关系,它们之间是一一对应的。主键分为两种类型:单字段主键和多字段联合主键。

1.单字段主键

单字段主键是指主键由一个字段组成,SQL语句格式分为以下两种情况。

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

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

【范例5-2】

定义数据表tb_employee2,其主键为id,SQL语句如下。

CREATE TABLE tb_employee2 ( id INT(11)PRIMARY KEY, name VARCHAR(25), deptId INT(11), salary FLOAT );

⑵在定义完所有列之后指定主键,语法格式如下。

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

【范例5-3】

定义数据表tb_employee3,其主键为id,SQL语句如下。

CREATE TABLE tb_employee3 ( id INT(11), name VARCHAR(25), deptId INT(11), salary FLOAT, PRIMARY KEY(id) );

上述两个范例执行后的结果是一样的,都会在id字段上设置主键约束。

2.多字段联合主键

多字段联合主键是指主键由多个字段联合组成,语法规则如下。

PRIMARY KEY[字段1,字段2,…,字段n]

【范例5-4】

定义数据表tb_employee4,假设表中间没有主键id,为了唯一确定一个员工,可以把name、deptID联合起来作为主键,SQL语句如下。

CREATE TABLE tb_employee3 ( name VARCHAR(25), deptId INT(11), salary FLOAT, PRIMARY KEY(name,deptId) );

语句执行后,便创建了一个名称为tb_employee4的数据表,name字段和deptId字段组合在一起成为该数据表的多字段联合主键。