📜  SQL中的复合键

📅  最后修改于: 2021-08-27 05:28:30             🧑  作者: Mango

要知道什么是组合键,我们需要了解什么是主键,主键是在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;

输出: