如何在 SQL Server 中创建复合主键?
在本文中,我们将了解什么是复合主键以及如何创建复合主键。正如我们所知,主键是被选择来唯一标识表中一行的候选键。 A And Primary Key 不允许 NULL 值。
复合主键
当两个或多个列在一起时 标识表中的唯一行称为复合主键。复合键是由给定表的多个属性或列组合而成的键。它可以是候选键或主键。
为了更好的理解,我们将借助示例来实现,首先,我们将创建一个数据库名称,该数据库的名称将是 Sample。在数据库内部,我们将创建一个 Compo。
步骤 1:创建数据库
对于数据库创建,我们将在 SQL 平台中使用查询。
询问:
Create datebase sample
步骤 2:使用数据库
为了使用数据库,我们将在 SQL 平台中使用另一个查询,如 Mysql。
询问:
Use Sample
第 3 步:使用复合主表创建表
我们将使用以下查询来创建复合键。
询问:
CREATE TABLE COMPO
(
EMP_ID INT,
DEPT_ID INT,
EMPNAME VARCHAR(25),
GENDER VARCHAR(6),
SALARY INT -->
//This statement will create a
//composite Primary Key from
PRIMARY KEY (EMP_ID,DEPT_ID)
with the help of Column EMP_ID and DEPT_ID
);
步骤4:创建表后,我们可以借助下面的Query来对齐表的视图和元数据。它将返回架构、列、数据类型以及大小和约束。
询问:
EXEC sp_help COMPO;
输出:
第 5 步:在表中插入数据。
我们将使用下面的 SQL 查询在创建的表中插入数据。
询问:
INSERT INTO COMPO
VALUES (101,001,'RAHUL','MALE',22000),
(102,002,'RAJ','MALE',25000),
(103,003,'PRIYANKA','FEMALE',25500),
(102,003,'VIJAY','MALE',25000),
(101,004,'SHWETA','FEMALE',22000),
(104,003,'SATYA','MALE',23000),
(105,005,'VIVEK','MALE',28000);
步骤 6:验证插入的数据
在表中插入数据后我们可以证明或确认我们必须正确插入哪些数据。在下面的查询的帮助下。
询问:
SELECT * FROM COMPO
输出:
第 7 步:我们知道主键具有唯一值,但在上表中,EMP_ID 具有重复值。因为它单独(EMP_ID)不是主键,所以它可以包含重复的值。同样,DEPT_ID 也有重复的值,因为它也不是主键。但在上面的记录中,EMP_ID 和 DEPT_ID 并不重复。因为它是一个复合主键。这里 (EMP_ID + DEPT_ID) 是唯一标识上表中的行。
为了从 COMPO 中找到唯一值,我们将执行如下。
询问:
SELECT EMPNAME,SALARY FROM COMPO WHERE EMP_ID= 102 AND DEPT_ID =6;
输出: