SQL Server CREATE TABLE 문이란?
SQL Server(Transact-SQL)에서 CREATE TABLE 문은 새로운 테이블을 생성하고, 각 열의 이름·데이터 유형·NULL 허용 여부 등을 정의하는 데 사용되는 기본적인 DDL(Data Definition Language) 명령입니다.
CREATE TABLE 기본 문법
CREATE TABLE 테이블명
(
열1 데이터_유형 [ NULL | NOT NULL ],
열2 데이터_유형 [ NULL | NOT NULL ],
...
);
매개변수 설명
테이블명
생성하려는 테이블의 이름입니다.
열1, 열2
테이블에 추가할 열(column)입니다. 각 열은 하나의 데이터 유형을 가져야 하며, NULL 또는 NOT NULL 여부를 지정해야 합니다. 이를 생략하면 데이터베이스가 기본값으로 NULL을 적용합니다.
CREATE TABLE 예제
CREATE TABLE employees
( employee_id INT NOT NULL,
last_name VARCHAR(50) NOT NULL,
first_name VARCHAR(50),
salary MONEY
);
위 CREATE TABLE 문은 employees라는 이름의 테이블을 생성하며, 총 4개의 열로 구성됩니다.
- employee_id(직원 ID): INT 데이터 유형이며 NULL 값을 허용하지 않습니다.
- last_name(성): VARCHAR 데이터 유형(최대 50자)이며 NULL 값을 허용하지 않습니다.
- first_name(이름): VARCHAR 데이터 유형(최대 50자)이며 NULL 값을 포함할 수 있습니다.
- salary(급여): MONEY 데이터 유형이며 NULL 값을 포함할 수 있습니다.
기본 키(PRIMARY KEY) 정의하기
위 예제의 아쉬운 점은 테이블에 기본 키(primary key)가 정의되어 있지 않다는 것입니다. 다음과 같이 약간 수정하여 employee_id 열을 기본 키로 지정할 수 있습니다.
CREATE TABLE employees
( employee_id INT PRIMARY KEY,
last_name VARCHAR(50) NOT NULL,
first_name VARCHAR(50),
salary MONEY
);
employee_id 필드 뒤에 PRIMARY KEY 키워드를 사용하면, SQL Server는 해당 열을 테이블의 기본 키로 지정합니다. 기본 키는 테이블 내에서 각 행을 고유하게 식별하며, 중복 값과 NULL 값을 허용하지 않습니다.
추가 팁: 제약 조건 활용하기
CREATE TABLE 문에는 NOT NULL 외에도 UNIQUE, DEFAULT, CHECK, FOREIGN KEY 등 다양한 제약 조건(constraint)을 함께 정의할 수 있습니다. 예를 들어 특정 열에 기본값을 지정하려면 DEFAULT 키워드를, 다른 테이블과의 참조 관계를 설정하려면 FOREIGN KEY 제약 조건을 사용하면 됩니다. 이러한 제약 조건을 잘 활용하면 데이터 무결성을 처음부터 확보할 수 있습니다.