要知道什么是组合键,我们需要了解什么是主键,主键是在SQL表中具有唯一值而不是null值的列。
现在,组合键也是主键,但是不同之处在于,它是由多个列的组合所组成,以标识表中的特定行。
组合键:
组合键是由表中两个或更多列的组合组成的,当组合列时,可用来唯一标识表中的每一行,但可以保证行的唯一性,但是当单独使用时,不能保证行的唯一性唯一性,或者也可以将其理解为由两个或多个属性组合而成的主键,以唯一地标识表中的每一行。
笔记:
- 也可以通过组合多个候选密钥来制作复合密钥。
- 复合键不能为空。
例子:
创建数据库:
CREATE School;
使用数据库:
USE School;
使用组合键创建表:
CREATE TABLE student
(rollNumber INT,
name VARCHAR(30),
class VARCHAR(30),
section VARCHAR(1),
mobile VARCHAR(10),
PRIMARY KEY (rollNumber, mobile));
在此示例中,我们将组合键设置为两列即rollNumber和mobile的组合,因为表格学生的所有行都可以通过此组合键唯一地标识。
在表中插入记录:
INSERT INTO student (rollNumber, name, class, section, mobile)
VALUES (1, "AMAN","FOURTH", "B", "9988774455");
INSERT INTO student (rollNumber, name, class, section, mobile)
VALUES (2, "JOHN","FIRST", "A", "9988112233");
INSERT INTO student (rollNumber, name, class, section, mobile)
VALUES (3, "TOM","FOURTH", "B", "9988777755");
INSERT INTO student (rollNumber, name, class, section, mobile)
VALUES (4, "RICHARD","SECOND", "C", "9955663322");
查询记录:
SELECT * FROM student;
输出: