구문과 예제를 통해 SQL Server에서 기본 키를 생성, 삭제, 비활성화 또는 활성화하는 방법을 알아보세요.
SQL Server의 기본 키는 무엇입니까?
SQL Server(Transact-SQL)에서 기본 키는 필드 또는 필드 조합이며 단일 레코드로 정의됩니다. 기본 키의 어떤 필드도 NULL 값을 포함하지 않습니다. 테이블에는 하나의 기본 키만 있습니다. 기본 키는 CREATE TABLE 명령 또는 ALTER TABLE 명령으로 정의할 수 있습니다.
기본 키 생성 - CREATE TABLE 명령 사용
주요 키 생성 구문은 CREATE TABLE 명령을 사용합니다.
CREATE TABLE ten_bang
(
cot1 kieu_du_lieu [ NULL | NOT NULL ] [ PRIMARY KEY ],
cot2 kieu_du_lieu [ NULL | NOT NULL ],
.
);
또는
CREATE TABLEten_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 nhanvien
( nhanvien_id INT PRIMARY KEY,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50), NOT NULL,
luong MONEY
);
이 예에서 nhanvien 테이블의 기본 키는 nhanvien_id라는 필드로 구성됩니다. 또한 기본 키는 다음과 같이 생성할 수 있습니다.
CREATE TABLE nhanvien
( 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 vnien
( 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 TABLE 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 TABLE ten_bang
DROP CONS
TRAINT ten_rang_buoc;
ALTER TABLE 명령으로 기본 키를 삭제하는 예
ALTER TABLE staff
DROP CONSTRAINT
nhanvien_pk;
위의 예는 테이블에서 기본 키를 삭제합니다.
SQL Server에서 기본 키 비활성화
ALTER INDEX 명령으로 기본 키를 비활성화하는 구문
ALTER INDEX ten_rang_buoc ON ten_bang
DISABLE;
예를 들어 ALTER INDEX 명령으로 기본 키를 비활성화
ALTERINDEX nhanvien_pk ON nhanvien
DISABLE
;
위의 예는 테이블의 기본 키를 비활성화합니다.
SQL Server에서 기본 키 활성화
기본 키를 활성화하는 구문은 ALTER INDEX 명령을 사용합니다.
ALTER INDEX ten_rang_buoc ON ten_bang
REBU
ILD;
예를 들어 ALTER INDEX 명령으로 기본 키를 활성화합니다.
ALTER INDEX nhanvien_pk ON nhanvien
REBUI
LD;
위의 예는 테이블의 기본 키를 다시 활성화합니다.