SQL - ALTER TABLE: 초보자를 위한 친절한 가이드

안녕하세요, 미래의 데이터베이스 마법사 여러분! 오늘 우리는 SQL의 세계로 흥미로운 여정을 떠납니다. 특히 ALTER TABLE 문을 집중적으로 다룰 것입니다. 초보자라면 걱정하지 마세요; 나는 당신의 친절한 가이드로, 단계별로 모든 것을 설명해드릴 것입니다. 그麼, 손을 내밀고 시작해봅시다!

SQL - Alter Tables

SQL - ALTER TABLE 문

ALTER TABLE 문은 데이터베이스 테이블의 스위스 아르미Knife와도 같습니다. 기존 테이블 구조를 변경할 수 있도록 허용하지만, 테이블을 지우고 다시 만드는 필요는 없습니다. 집을 지은 다음에 새로운 방을 추가하거나 주방 레이아웃을 변경하고 싶은 것처럼, ALTER TABLE은 데이터베이스에 대해 그와 같은 작업을 수행합니다!

간단한 예제로 시작해보겠습니다. students라는 테이블이 있다고 가정해봅시다:

CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);

이제 ALTER TABLE을 사용하여 이 테이블을 어떻게 수정할 수 있는지 보겠습니다.

ALTER TABLE - ADD COLUMN

새로운 열을 추가하는 것은 학생들이 추적해야 할 새로운 특성을 주는 것과 같습니다. 'email' 열을 추가해보겠습니다:

ALTER TABLE students
ADD email VARCHAR(100);

이 명령어를 실행한 후, students 테이블에는 이제 이메일 주소를 저장할 추가 열이 생깁니다. 이렇게 간단합니다!

ALTER TABLE - DROP COLUMN

occasionally, we realize we no longer need a particular piece of information. That's when we use DROP COLUMN. Let's say we decide we don't need to track the age of students:

ALTER TABLE students
DROP COLUMN age;

퍼! 'age' 열이 사라집니다. 이 명령어는 신중하게 사용해야 합니다. 열을 지우면 그 안에 있는 데이터는 영원히 사라집니다!

ALTER TABLE - ADD INDEX

색인은 책의 목차와 같습니다. SQL이 데이터를 더 빠르게 찾도록 도와줍니다. 'name' 열에 색인을 추가해보겠습니다:

ALTER TABLE students
ADD INDEX idx_name (name);

이제 학생 이름으로 검색하는 것이 훨씬 빨라질 것입니다!

ALTER TABLE - DROP INDEX

색인이 더 이상 필요하지 않다고 판단되면 지울 수 있습니다:

ALTER TABLE students
DROP INDEX idx_name;

그렇게 하면 색인이 제거됩니다.

ALTER TABLE - ADD PRIMARY KEY

기본 키는 각 레코드의 고유한 식별자입니다. 테이블을 만들 때 잊어버린 경우가 있습니다:

ALTER TABLE students
ADD PRIMARY KEY (id);

이제 'id'는 우리 테이블의 기본 키가 되었습니다.

ALTER TABLE - DROP PRIMARY KEY

기본 키를 변경해야 한다면, 먼저 기존의 키를 지워야 합니다:

ALTER TABLE students
DROP PRIMARY KEY;

이 작업은 실제 상황에서 자주 사용하지 않습니다!

ALTER TABLE - ADD CONSTRAINT

제약 조건은 데이터에 대한 규칙입니다. 이메일 주소가 고유하도록 제약 조건을 추가해보겠습니다:

ALTER TABLE students
ADD CONSTRAINT unique_email UNIQUE (email);

이제 두 학생은 같은 이메일 주소를 가질 수 없습니다.

ALTER TABLE - DROP CONSTRAINT

제약 조건을 제거하고 싶다면:

ALTER TABLE students
DROP CONSTRAINT unique_email;

그렇게 하면 제약 조건이 사라집니다!

ALTER TABLE - RENAME COLUMN

occasionally, we might want to change a column name. Let's rename 'name' to 'full_name':

ALTER TABLE students
RENAME COLUMN name TO full_name;

열에 새로운 별명을 주는 것과 같습니다!

ALTER TABLE - MODIFY DATATYPE

마지막으로, 열의 데이터 타입을 변경할 수 있습니다. 'full_name'을 더 긴 이름을 허용하도록 변경해보겠습니다:

ALTER TABLE students
MODIFY COLUMN full_name VARCHAR(100);

이제 'full_name' 열은 50자 대신 100자를 저장할 수 있습니다.

이제 우리가 다룰 ALTER TABLE 방법의 요약입니다:

방법 설명
ADD COLUMN 테이블에 새로운 열을 추가합니다
DROP COLUMN 테이블에서 열을 제거합니다
ADD INDEX 지정된 열에 색인을 생성합니다
DROP INDEX 테이블에서 색인을 제거합니다
ADD PRIMARY KEY 테이블에 기본 키 제약 조건을 추가합니다
DROP PRIMARY KEY 테이블에서 기본 키 제약 조건을 제거합니다
ADD CONSTRAINT 테이블에 새로운 제약 조건을 추가합니다
DROP CONSTRAINT 테이블에서 제약 조건을 제거합니다
RENAME COLUMN 열의 이름을 변경합니다
MODIFY DATATYPE 열의 데이터 타입을 변경합니다

이렇게 해서 ALTER TABLE의 기본을 배웠습니다. 연습이 완벽을 이루는 열쇠이니, 안전한 테스트 환경에서 이 명령어들을 실험해보세요.

마무리 전에, 제 교육 경험 중 이야기를 하나 이야기해드릴게요: 제가 가르치는 학생 중 한 명이 ALTER TABLE 개념에 어려움을 겪고 있었습니다. 그녀는 이를 리모델링하는 집에 비유했습니다. ADD COLUMN은 새로운 방을 추가하는 것처럼, DROP COLUMN은 벽을 허물고, MODIFY DATATYPE은 방의 용도를 변경하는 것과 같다고 했습니다. 이 비유 덕분에 그녀는 개념을 빠르게 이해하고, 데이터베이스 관리 시험에서 높은 점수를 받았습니다!

SQL은처음에는 어려워 보일 수 있지만, 연습을 하면 곧 프로처럼 테이블을 변경할 수 있을 것입니다. 모든 전문가는 초보자였습니다. 계속 배우고, 호기심을 유지하며, 행복하게 코딩하세요!

Credits: Image by storyset