이 문서에서는 주로 SQL Server 기본 키 제약 조건(PRIMARY KEY)을 소개하는 SQL 서버에 대한 관련 지식을 제공합니다. 기본 키는 테이블의 각 행을 고유하게 식별하는 열 또는 열 그룹입니다. 아래의 세부 내용을 살펴보겠습니다. 모두에게 도움이 되기를 바랍니다.
추천 학습: "SQL 자습서"
기본 키는 테이블의 각 행을 고유하게 식별하는 열 또는 열 그룹입니다. 기본 키 제약 조건을 사용하여 테이블의 기본 키를 생성할 수 있습니다.
기본 키에 열이 하나만 포함된 경우 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会自动为这些列设置非空约束。
以下示例创建了一个具有主键的表,主键由一列组成:
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_id
或customer_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);
rrreee注意,如果
기본 키에 열이 두 개 이상 있는 경우 기본 키를 사용해야 합니다. 테이블 제약으로서의 키 제약:sales.events
表已经有数据,在将event_id
列提升为主键之前,必须确保event_id
rrreee
각 테이블은 하나의 기본 키만 포함할 수 있고 하나의 기본 키에는 여러 열이 포함될 수 있습니다. 즉, 여러 열의 조합이 반복될 수 없습니다. 기본 키에 참여하는 모든 열은 NOT NULL
로 정의되어야 합니다. 모든 기본 키 열에 대해 NOT NULL
제약 조건이 지정되지 않은 경우 SQL Server는 이러한 열에 대해 Null이 아닌 제약 조건을 자동으로 설정합니다. SQL Server PRIMARY KEY 제약 조건 예
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!