소개
Teradata에서 기존 테이블에 컬럼을 추가하는 방법은 간단해요. 이 가이드에서는 컬럼을 추가하는 방법과 문법을 설명하고, 자주 쓰는 사례를 코드 예제와 예상 결과로 보여드려요.
사전 준비
- SQL에 대한 기본 지식
- Teradata 데이터베이스 접근 권한
‘ALTER TABLE’ 사용하기
ALTER TABLE 명령은 기존 테이블 구조를 변경할 때 사용해요. ALTER TABLE로 할 수 있는 기본적인 변경은 다음과 같아요:
- 새 컬럼 추가
- 기존 컬럼 수정
- 컬럼 삭제
- 컬럼 이름 변경
이 튜토리얼에서는 컬럼 추가에 집중할게요.
컬럼 추가 - 기본 문법
테이블에 새 컬럼을 추가하는 기본 문법은 다음과 같아요:
ALTER TABLE table_name
ADD column_name data_type [optional_constraint];
-
table_name: 변경할 테이블의 이름이에요. -
column_name: 추가할 새 컬럼의 이름이에요. -
data_type: 새 컬럼의 데이터 타입이에요(예: INTEGER, VARCHAR, DATE). -
[optional_constraint]:NOT NULL,UNIQUE등의 제약 조건이에요.
실전 예제:
환경 준비
먼저 시연을 위한 샘플 테이블을 만들어 볼게요.
CREATE TABLE Employees (
EmployeeID INTEGER,
FirstName VARCHAR(50),
LastName VARCHAR(50),
HireDate DATE
);
초기 데이터
INSERT INTO Employees (EmployeeID, FirstName, LastName, HireDate)
VALUES (1, 'John', 'Doe', '2022-01-15'),
(2, 'Jane', 'Smith', '2021-06-30');
예상 결과:
| EmployeeID | FirstName | LastName | HireDate |
|---|---|---|---|
| 1 | John | Doe | 2022-01-15 |
| 2 | Jane | Smith | 2021-06-30 |
데이터 타입을 지정해 컬럼 추가
먼저 Employees 테이블에 간단한 컬럼인 Email을 추가해 볼게요.
ALTER TABLE Employees
ADD Email VARCHAR(100);
컬럼 추가 확인
컬럼이 추가되었는지 확인하려면 HELP TABLE 명령을 사용하면 돼요.
HELP TABLE Employees;
예상 결과:
| 컬럼 이름 | 타입 | 설명 |
|---|---|---|
| EmployeeID | INTEGER | |
| FirstName | VARCHAR(50) | |
| LastName | VARCHAR(50) | |
| HireDate | DATE | |
| VARCHAR(100) |
기본값을 지정해 컬럼 추가
새 컬럼을 기본값으로 초기화하면 유용할 때가 있어요. 기본값이 ‘Active’인 Status 컬럼을 추가해 볼게요.
ALTER TABLE Employees
ADD Status VARCHAR(20) DEFAULT 'Active';
추가 결과 검증
새 직원을 추가해서 기본값을 확인해 보세요.
INSERT INTO Employees (EmployeeID, FirstName, LastName, HireDate)
VALUES (3, 'Alice', 'Johnson', '2022-03-01');
데이터를 조회해 검증하세요:
SELECT * FROM Employees;
예상 결과:
| EmployeeID | FirstName | LastName | HireDate | Status | |
|---|---|---|---|---|---|
| 1 | John | Doe | 2022-01-15 | NULL | NULL |
| 2 | Jane | Smith | 2021-06-30 | NULL | NULL |
| 3 | Alice | Johnson | 2022-03-01 | NULL | Active |
제약 조건을 지정해 컬럼 추가
이제 null을 허용하지 않는 DepartmentID 컬럼을 추가해 볼게요.
ALTER TABLE Employees
ADD DepartmentID INTEGER NOT NULL;
이제 DepartmentID 없이 새 레코드를 삽입하려고 하면 오류가 발생해요:
INSERT INTO Employees (EmployeeID, FirstName, LastName, HireDate)
VALUES (4, 'Bob', 'Williams', '2022-02-20'); -- This will fail
예상 결과:
ERROR: Column 'DepartmentID' cannot be null
여러 컬럼 추가
컬럼을 여러 개 추가해야 하나요? 하나의 ALTER TABLE 문으로 처리할 수 있어요.
ALTER TABLE Employees
ADD JobTitle VARCHAR(50),
ADD Salary INTEGER;
추가된 컬럼 확인
HELP TABLE Employees;
예상 결과:
| 컬럼 이름 | 타입 | 설명 |
|---|---|---|
| EmployeeID | INTEGER | |
| FirstName | VARCHAR(50) | |
| LastName | VARCHAR(50) | |
| HireDate | DATE | |
| VARCHAR(100) | ||
| Status | VARCHAR(20) | |
| DepartmentID | INTEGER | |
| JobTitle | VARCHAR(50) | |
| Salary | INTEGER |
마무리
Teradata 테이블에 컬럼을 추가하는 것은 필요에 따라 데이터베이스 스키마를 확장할 수 있는 간단한 작업이에요. 데이터 타입, 제약 조건, 기본값을 고려하면서 위의 단계와 예제를 따라 하면 변경 사항을 효과적이고 정확하게 적용할 수 있어요.
즐거운 쿼리 작성 되세요!
Beekeeper Studio는 무료 오픈 소스 데이터베이스 GUI예요
지금까지 써 본 SQL 쿼리 & 에디터 도구 중 최고예요. 데이터베이스 관리에 필요한 모든 게 다 있어요. - ⭐⭐⭐⭐⭐ Mit
Beekeeper Studio는 빠르고 직관적이며 사용하기 쉬워요. 다양한 데이터베이스를 지원하고 Windows, Mac, Linux에서 모두 잘 작동해요.
Beekeeper Studio 사용자 후기
"Beekeeper Studio가 예전 SQL 작업 방식을 완전히 대체했어요. 빠르고 직관적이어서 데이터베이스 작업이 다시 즐거워졌어요."
"여러 데이터베이스 GUI를 써 봤지만, Beekeeper는 기능과 단순함 사이의 균형이 완벽해요. 그냥 잘 작동해요."