>  기사  >  데이터 베이스  >  SQL Server 기본 키 제약 조건(PRIMARY KEY)에 대한 간략한 이해

SQL Server 기본 키 제약 조건(PRIMARY KEY)에 대한 간략한 이해

WBOY
WBOY앞으로
2022-09-06 17:30:573078검색

이 문서에서는 주로 SQL Server 기본 키 제약 조건(PRIMARY KEY)을 소개하는 SQL 서버에 대한 관련 지식을 제공합니다. 기본 키는 테이블의 각 행을 고유하게 식별하는 열 또는 열 그룹입니다. 아래의 세부 내용을 살펴보겠습니다. 모두에게 도움이 되기를 바랍니다.

SQL Server 기본 키 제약 조건(PRIMARY KEY)에 대한 간략한 이해

추천 학습: "SQL 자습서"

SQL Server PRIMARY KEY(기본 키) 제약 조건 소개

기본 키는 테이블의 각 행을 고유하게 식별하는 열 또는 열 그룹입니다. 기본 키 제약 조건을 사용하여 테이블의 기본 키를 생성할 수 있습니다.
기본 키에 열이 하나만 포함된 경우 PRIMARY KEY 제약 조건을 열 제약 조건으로 사용할 수 있습니다. PRIMARY KEY约束作为列约束:

CREATE TABLE table_name (
    pk_column data_type PRIMARY KEY,
    ...
);

如果主键有两列或多列,则必须将主键约束用作表约束:

CREATE TABLE table_name (
    pk_column_1 data_type,
    pk_column_2 data type,
    ...
    PRIMARY KEY (pk_column_1, pk_column_2)
);

每个表只能包含一个主键,一个主键可以包含多个列,即多个列的组合不能重复。参与主键的所有列必须定义为NOT NULL。如果未为所有主键列指定NOT NULL约束,SQL Server会自动为这些列设置非空约束。

SQL Server PRIMARY KEY约束示例

以下示例创建了一个具有主键的表,主键由一列组成:

CREATE TABLE dbo.activities (
    activity_id INT PRIMARY KEY IDENTITY,--主键
    activity_name VARCHAR (255) NOT NULL,
    activity_date DATE NOT NULL
);

在表dbo.activities中,activity_id列是主键列,意味着这一列的值不能重复

IDENTITY属性用于activity_id列自动生成唯一的整数值。

下面创建一个由两列组成外键的新表:

CREATE TABLE dbo.participants(
    activity_id int,
    customer_id int,
    PRIMARY KEY(activity_id, customer_id)
);

在本例中,activity_idcustomer_id列中的值可以重复,但两列中的每个值组合都必须是唯一的。

通常,表总是在创建时定义主键。然而,有时,现有表可能没有定义主键。在这种情况下,可以使用ALTER TABLE语句向表中添加主键。比如示例:

先创建一个没有主键列的表:

CREATE TABLE dbo.events(
    event_id INT NOT NULL,
    event_name VARCHAR(255),
    start_date DATE NOT NULL,
    duration DEC(5,2)
);

然后使event_id列成为主键:

ALTER TABLE sales.events 
ADD PRIMARY KEY(event_id);

注意,如果 sales.events 表已经有数据,在将 event_id 列提升为主键之前,必须确保 event_idrrreee

기본 키에 열이 두 개 이상 있는 경우 기본 키를 사용해야 합니다. 테이블 제약으로서의 키 제약:
rrreee

각 테이블은 하나의 기본 키만 포함할 수 있고 하나의 기본 키에는 여러 열이 포함될 수 있습니다. 즉, 여러 열의 조합이 반복될 수 없습니다. 기본 키에 참여하는 모든 열은 NOT NULL로 정의되어야 합니다. 모든 기본 키 열에 대해 NOT NULL 제약 조건이 지정되지 않은 경우 SQL Server는 이러한 열에 대해 Null이 아닌 제약 조건을 자동으로 설정합니다. SQL Server PRIMARY KEY 제약 조건 예

🎜다음 예에서는 열로 구성된 기본 키가 있는 테이블을 생성합니다. 🎜rrreee🎜테이블 dbo.activities, activity_id 열은 기본 키 열입니다. 즉, 이 열의 값은 반복될 수 없습니다. IDENTITY 속성은 에 대한 고유한 정수 값을 자동으로 생성하는 데 사용됩니다. Activity_id 열입니다. 🎜🎜다음은 외래 키를 형성하는 두 개의 열이 있는 새 테이블을 만듭니다. 🎜rrreee🎜이 경우 activity_id 또는 customer_id 열 값은 반복될 수 있지만 두 열의 각 값 조합은 고유해야 합니다. 🎜🎜일반적으로 기본 키는 테이블이 생성될 때 항상 정의됩니다. 그러나 때로는 기존 테이블에 기본 키가 정의되어 있지 않을 수도 있습니다. 이 경우 ALTER TABLE 문을 사용하여 테이블에 기본 키를 추가할 수 있습니다. 예: 🎜🎜먼저 기본 키 열이 없는 테이블을 만듭니다. 🎜rrreee🎜 그런 다음 event_id 열을 기본 키로 만듭니다. 🎜rrreee
🎜 sales.events 테이블에는 이미 데이터가 있습니다. event_id 열을 기본 키로 승격하기 전에 event_id의 값을 확인해야 합니다. 독특합니다. 🎜🎜🎜추천 학습: "🎜SQL Tutorial🎜"🎜

위 내용은 SQL Server 기본 키 제약 조건(PRIMARY KEY)에 대한 간략한 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제