T-SQL

T-SQL 知识量:16 - 67 - 243

5.2 主键约束><

在创建表时添加主键约束- 5.2.1 -

在T-SQL中,可以在创建表时添加主键约束。以下是添加主键约束的示例:

CREATE TABLE 表名 (  
    列名1 数据类型,  
    列名2 数据类型,  
    ...  
    PRIMARY KEY (列名1)  
);

在上述示例中,表名是要创建的表的名称,列名1是要设置为主键的列的名称。在PRIMARY KEY关键字后面的括号中指定要设置为主键的列名。

例如,以下是一个创建名为employees的表并添加主键约束的示例:

CREATE TABLE employees (  
    id INT PRIMARY KEY,  
    name NVARCHAR(50),  
    age INT,  
    salary DECIMAL(10, 2)  
);

在上述示例中,id列被设置为主键,数据类型为INT。其他列如name、age和salary则作为表的普通列。

在现有表中添加主键约束- 5.2.2 -

要在现有表中添加主键约束,可以使用ALTER TABLE语句。以下是添加主键约束的示例:

ALTER TABLE 表名    
ADD PRIMARY KEY (列名);

在上述示例中,表名是要添加主键约束的表的名称,列名是要设置为主键的列的名称。

例如,以下是在名为employees的现有表中添加主键约束的示例:

ALTER TABLE employees    
ADD PRIMARY KEY (id);

上述示例将在employees表中添加一个名为id的主键约束。注意:如果表中已经存在重复的值或NULL值,添加主键约束将会失败。在添加主键约束之前,需要确保列中的值是唯一的,并且没有NULL值。

定义多字段联合主键约束- 5.2.3 -

在T-SQL中,可以使用多个字段来定义联合主键约束。以下是一个示例,展示如何在创建表时定义多字段联合主键约束:

CREATE TABLE 表名 (  
    列名1 数据类型,  
    列名2 数据类型,  
    ...  
    PRIMARY KEY (列名1, 列名2, ...)  
);

在上述示例中,表名是要创建的表的名称,列名1、列名2等是要作为联合主键的列的名称。在PRIMARY KEY关键字后面的括号中,使用逗号分隔多个列名,以指定它们作为联合主键。

例如,以下是一个创建名为employees的表并定义多字段联合主键约束的示例:

CREATE TABLE employees (  
    employee_id INT,  
    department_id INT,  
    PRIMARY KEY (employee_id, department_id)  
);

在上述示例中,employee_id和department_id两个列被定义为联合主键。这意味着这两个列的组合必须是唯一的,并且不能有重复的值。

删除主键约束- 5.2.4 -

要删除T-SQL中的主键约束,可以使用ALTER TABLE语句配合DROP CONSTRAINT子句。以下是删除主键约束的示例:

ALTER TABLE 表名    
DROP CONSTRAINT 主键约束名;

在上述示例中,表名是要删除主键约束的表的名称,主键约束名是要删除的主键约束的名称。

例如,以下是一个删除名为PK_Employees_ID的主键约束的示例:

ALTER TABLE employees    
DROP CONSTRAINT PK_Employees_ID;

上述示例将从名为employees的表中删除名为PK_Employees_ID的主键约束。要确保在执行此操作之前备份数据,并确保没有其他表或触发器依赖于要删除的主键约束。