SQL PRIMARY KEY:如何创建并添加到现有表

SQL中的主键是什么?

首要的关键 是唯一标识一条记录的字段或字段组合。主键是唯一的一列或一组列。换句话说,对于主键来说,每个值都是唯一的。

主键规则

  • 每个表只能有一个 SQL 主键。
  • 所有值都是唯一的,并且主键 SQL 值可以唯一地标识每一行。
  • 系统不允许插入表中已存在的具有 SQL Server 主键的行。
  • 主键不能为 NULL。

下图总结了 SQL 主键的所有上述要点。

SQL 中主键的规则
主键 SQL 的工作原理

如何在 SQL Server 中创建主键

我们可以在 2种方式:

1. SQL Server Management Studio中

2. T-SQL:在创建新表时创建主表

SQL Server Management Studio中

步骤1) 右键单击表名称。单击 设计。

在 SQL Server 中创建主键

步骤2) 右键单击列名称。单击“设置主键'

在 SQL Server 中创建主键

结果: Course_Id 现在是 首要的关键。

在 SQL Server 中创建主键

T-SQL:在创建新表时创建主键。

以下是使用 T-SQL 创建带主键表的语法

语法:

CREATE TABLE <Table_Name>
(
Column1 datatype,
Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name)
.
);

让我们创建一个以一列作为 SQL 主键的表。

查询:

CREATE TABLE COURSE_TSQL_PK 
(Course_ID Int not Null,
 Course_name Varchar(20)
 CONSTRAINT PK PRIMARY KEY (Course_ID)	
)

步骤1) 点击运行查询 '执行。'

创建新表时创建主键

结果: Course_Id 现在是 首要的关键。

创建新表时创建主键

计费示例: 让我们看看它是否允许输入具有相同课程 ID 的多条记录。

步骤1) 插入 4 行 不同的 Course_ID

Insert into COURSE_TSQL_PK values (1,'SQL');
Insert into COURSE_TSQL_PK values (2,'Python');
Insert into COURSE_TSQL_PK values (3,'SQL');
Insert into COURSE_TSQL_PK values (4,'C');

步骤2) 通过运行选择查询来验证所有数据是否已成功插入。

创建新表时创建主键

备注:我们可以在非主键中插入重复值。

步骤3) 现在让我们尝试使用现有的 Course_ID 作为主键插入新记录。

Insert into COURSE_TSQL_PK values (4,'JAVA');

结果: 系统不允许插入新值,因为 4 是 Course_ID 列,它是主键。

创建新表时创建主键

如何在 SQL 中向现有表添加主键?

现在我们将看到如何在 SQL 中向现有表添加主键:

您可以使用 ALTER 语句创建主键。但是,只能在定义为 NOT NULL 的列上创建主键。您无法在允许 NULL 的列上创建主键。如果需要这样做,您必须删除并重新创建表。

这是语法:

ALTER TABLE tableName
ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);

例如:

ALTER TABLE students
ADD CONSTRAINT students_pk PRIMARY KEY (admission);

在 SQL 中向现有表添加主键

我们为现有表添加了主键约束。约束已添加到 admission 列,并指定名称为 students_pk。

有趣的事实!

  • 主键可以是多个列的组合。此组合称为 复合主键.
  • 主键最多可以有 16 列。

总结

  • 每个表只能有一个主键
  • 所有的值都是唯一的,可以 唯一地标识每一行。

每日Guru99新闻简报

通过立即获取最新、最重要的人工智能新闻报道来开始您的一天。