1. 简介
在 Microsoft SQL Server数据库中,主键是一列或一组列,它们的值能够唯一地标识数据库表中的每个行。该主键限制了表中列的值,不允许重复和空值。本文将介绍如何在MSSQL中新增主键。
2. 创建表格
在开始之前,我们需要有一个MSSQL数据表来演示。下面是一个以T_USER为名的表。
CREATE TABLE T_USER(
Id INT PRIMARY KEY,
Name VARCHAR(50),
Age INT
)
该表中没有主键约束。下面是一个例子。我们可以插入相同的Id字段。
INSERT INTO T_USER(Id,Name,Age)
VALUES(1,'张三',20)
INSERT INTO T_USER(Id,Name,Age)
VALUES(1,'李四',25)
通过以上操作,我们可以看到同一ID字段多次插入的情况发生。因此,我们需要设置主键来解决这个问题。
3. 新增主键
3.1 新增主键列
主键可以是单个字段或多个字段的组合。在此处,我们将使用已有的列作为主键。如果我们还没有一个主键列,我们可以通过如下方式新增一个主键列:
ALTER TABLE T_USER ADD CONSTRAINT pk_Id PRIMARY KEY (Id)
它将为表T_USER创建一个名为pk_Id的主键约束。
3.2 修改已有列为主键
有时候,我们需要将现有列改为主键列。在这种情况下,我们需要使用ALTER TABLE语句:
ALTER TABLE T_USER ADD CONSTRAINT pk_Id PRIMARY KEY (Id)
上面的语句将会对T_USER表中的Id列新增一个名为pk_Id的主键约束。如果表中存在重复项或者存在空值,则会提示错误。
3.3 主键约束的删除
如果我们需要删除主键约束,需要使用ALTER TABLE语句:
ALTER TABLE T_USER DROP CONSTRAINT pk_id
删除一个主键可以为其执行相同的操作。我们只需要修改最后一行的DROP CONSTRAINT子句中的约束名称即可完成操作。
4. 总结
在本文中,我们介绍了MSSQL中新增主键的操作。您现在了解了如何为现有列添加主键约束,以及如何使用ALTER TABLE语句删除约束。
要记住,主键在数据库中扮演着重要的角色,能够唯一地标识表中每个行,并防止重复记录的插入。在设计数据库模式时,请始终考虑该实体的主键,以便正确管理数据。