Computer >> 컴퓨터 >  >> 프로그램 작성 >> SQL Server

SQL Server의 기본 키 PRIMARY KEY

구문과 예제를 통해 SQL Server에서 기본 키를 생성, 삭제, 비활성화 또는 활성화하는 방법을 알아보세요.

SQL Server의 기본 키는 무엇입니까?

SQL Server(Transact-SQL)에서 기본 키는 필드 또는 필드 조합이며 단일 레코드로 정의됩니다. 기본 키의 어떤 필드도 NULL 값을 포함하지 않습니다. 테이블에는 하나의 기본 키만 있습니다. 기본 키는 CREATE TABLE 명령 또는 ALTER TABLE 명령으로 정의할 수 있습니다.

기본 키 생성 - CREATE TABLE 명령 사용

주요 키 생성 구문은 CREATE TABLE 명령을 사용합니다.

  CREATE TAB LE ten_bang 
(
cot1 kieu_du_lieu [ NULL | NOT NULL ] [ PRIMARY KEY ],
cot2 kieu_du_lieu [ NULL | NOT NULL ],
.
);

또는

  CREATE TABLE ten_bang 
(
cot1 kieu_du_lieu [ NULL | NOT NULL ],
cot2 kieu_du_lieu [ NULL | NOT NULL ],

CONSTRAINT ten_rang_buoc PRIMARY KEY (cot1, cot2, … cot_n)
);

기본 키 생성 예는 CREATE TABLE 명령을 사용하는 것입니다.

  CREATE TABLE nh anvien 
( nhanvien_id INT PRIMARY KEY,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50), NOT NULL,
luong MONEY
);

이 예에서 nhanvien 테이블의 기본 키는 nhanvien_id라는 필드로 구성됩니다. 또한 기본 키는 다음과 같이 생성할 수 있습니다.

  CREATE TABLE nhanvi en 
( nhanvien_id INT,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50), NOT NULL,
luong MONEY
CONSTRAINT nhanvien_pk PRIMARY KEY (nhanvien_id)
);

이제 SQL Server에서 2개 이상의 필드로 기본 키를 생성하는 예입니다.

  CREATE TABLE vn ien 
( ho VARCHAR(50) NOT NULL,
ten VARCHAR(50), NOT NULL,
luong MONEY
CONSTRAINT nhanvien_pk PRIMARY KEY (ho, ten)
);

이 예에서는 ho라는 두 개의 열로 구성된 기본 키를 만들었습니다. 및 ten . 이 두 필드는 테이블의 레코드를 고유하게 식별합니다.

기본 키 생성 - ALTER TABLE 명령 사용

기본 키는 NOT NULL로 정의된 열에서 ALTER TABLE 명령으로만 생성할 수 있습니다. 컬럼이 NULL 값을 허용하는 경우 테이블을 삭제하거나 다시 생성하지 않고 기본 키를 추가할 수 없습니다.

기본 키를 만드는 구문은 ALTER TABLE 명령을 사용합니다.

  ALTER TABLE ten_ bang 
ADD CONSTRAINT t en_rang_buoc PRIMARY KEY (cot1, cot2, . cot_n);

ALTER TABLE 명령으로 기본 키를 만드는 예

  ALTER T ABLE nhanvien 
ADD CON STRAINT nhanvien_pk PRIMARY KEY (nhanvien_id);

이 예에서는 nhanvien_id를 포함하여 사용 가능한 테이블에 대한 기본 키를 만듭니다. 필드 . nhanvien_id 필드는 이전에 NOT NULL로 정의되어야 합니다. 그렇지 않으면 테이블을 삭제하고 다시 생성하고 이 필드를 NOT NULL로 정의해야 합니다.

다음 예와 같이 2개 이상의 필드로 기본 키를 생성할 수 있습니다.

  ALTER TABLE staff 
ADD CONSTRAINT n hanvien_pk PRIMARY KEY (cough, ten);

테이블의 기본 키는 이름과 성의 2개 필드를 포함합니다. 둘 다 NOT NULL로 정의되어야 합니다.

SQL Server에서 기본 키 삭제

기본 키를 삭제하는 구문은 ALTER TABLE 명령을 사용합니다.

  ALTER TAB LE ten_bang 
DROP CONS TRAINT ten_rang_buoc;

ALTER TABLE 명령으로 기본 키를 삭제하는 예

  ALTER TABLE staff 
DROP CONSTRAINT nhanvien_pk;

위의 예는 테이블에서 기본 키를 삭제합니다.

SQL Server에서 기본 키 비활성화

ALTER INDEX 명령으로 기본 키를 비활성화하는 구문

  ALTER IN DEX ten_rang_buoc ON ten_bang 
DISABLE;

예를 들어 ALTER INDEX 명령으로 기본 키를 비활성화

  ALTER INDEX nhanvien_pk ON nhanvien 
DISABLE ;

위의 예는 테이블의 기본 키를 비활성화합니다.

SQL Server에서 기본 키 활성화

기본 키를 활성화하는 구문은 ALTER INDEX 명령을 사용합니다.

  ALT ER INDEX ten_rang_buoc ON ten_bang 
REBU ILD;

예를 들어 ALTER INDEX 명령으로 기본 키를 활성화합니다.

  ALTE R INDEX nhanvien_pk ON nhanvien 
REBUI LD;

위의 예는 테이블의 기본 키를 다시 활성화합니다.