问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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

创作时间:
作者:
@小白创作中心

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

引用
1
来源
1.
https://www.guru99.com/zh-CN/sql-server-primary-key.html

主键是数据库表中非常重要的概念,它用于唯一标识表中的每一行记录。本文将详细介绍主键的定义、规则,以及如何在SQL Server中创建主键和向现有表添加主键。

SQL中的主键是什么?

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

主键规则

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

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

如何在 SQL Server 中创建主键

我们可以在2种方式:

  1. SQL Server Management Studio中
  2. T-SQL:在创建新表时创建主表

SQL Server Management Studio中

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

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

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

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);

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

有趣的事实!

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

总结

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

本文原文来自guru99.com

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号