코딩 스쿨 MySQL

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

MySQL Alter Table

MySQL ALTER TABLE: 테이블 구조 수정하기

ALTER TABLE 문은 MySQL에서 기존 테이블의 구조를 변경하는 데 사용되는 SQL 명령어입니다. 이 명령어를 통해 열 추가, 수정, 삭제와 같은 작업을 수행할 수 있습니다. 이 가이드는 MySQL에서 ALTER TABLE을 사용하는 방법, 기본 문법 및 예제를 설명합니다.


1. 기본 개념

1.1. 정의

ALTER TABLE 문은 테이블의 구조를 변경하는 데 사용됩니다. 이를 통해 데이터베이스 내의 테이블을 동적으로 수정할 수 있으며, 기존 데이터에 영향을 주지 않으면서도 새로운 요구사항을 반영할 수 있습니다.

1.2. 기본 문법

ALTER TABLE table_name
[alter_specification];

  • table_name: 수정할 테이블의 이름
  • alter_specification: 수행할 변경 작업 (예: ADD, MODIFY, DROP 등)

2. ALTER TABLE 사용 예제

2.1. 열 추가

테이블에 새 열을 추가하려면 ADD 구문을 사용합니다.

예제

ALTER TABLE users
ADD COLUMN age INT;

위 쿼리는 users 테이블에 age라는 이름의 정수형 열을 추가합니다.

2.2. 열 수정

기존 열의 데이터 타입이나 제약 조건을 수정하려면 MODIFY 구문을 사용합니다.

예제

ALTER TABLE users
MODIFY COLUMN age TINYINT;

이 쿼리는 users 테이블의 age 열의 데이터 타입을 TINYINT로 변경합니다.

2.3. 열 이름 변경

열의 이름을 변경하려면 CHANGE 구문을 사용합니다.

예제

ALTER TABLE users
CHANGE COLUMN age birth_year INT;

이 쿼리는 users 테이블의 age 열 이름을 birth_year로 변경합니다.

2.4. 열 삭제

테이블에서 열을 삭제하려면 DROP 구문을 사용합니다.

예제

ALTER TABLE users
DROP COLUMN age;

이 쿼리는 users 테이블에서 age 열을 삭제합니다.

2.5. 여러 작업 동시에 수행하기

한 쿼리에서 여러 작업을 동시에 수행할 수 있습니다.

예제

ALTER TABLE users
ADD COLUMN address VARCHAR(255),
DROP COLUMN age;

이 쿼리는 users 테이블에 address 열을 추가하고 age 열을 삭제합니다.


3. 제약 조건 추가 및 수정

3.1. 기본 키 추가

테이블에 기본 키를 추가하려면 다음과 같이 합니다.

예제

ALTER TABLE users
ADD PRIMARY KEY (id);

이 쿼리는 users 테이블의 id 열을 기본 키로 설정합니다.

3.2. 외래 키 추가

외래 키 제약 조건을 추가하려면 ADD CONSTRAINT 구문을 사용합니다.

예제

ALTER TABLE orders
ADD CONSTRAINT fk_user
FOREIGN KEY (user_id) REFERENCES users(id);

이 쿼리는 orders 테이블의 user_id 열에 대해 users 테이블의 id 열을 참조하는 외래 키 제약 조건을 추가합니다.


4. 테이블 이름 변경

테이블 이름을 변경하려면 RENAME TO 구문을 사용합니다.

예제

ALTER TABLE users
RENAME TO customers;

이 쿼리는 users 테이블의 이름을 customers로 변경합니다.


5. 주의사항

  1. 데이터 손실: 열을 삭제할 경우 그 열에 있는 데이터는 영구적으로 삭제됩니다. 따라서 삭제하기 전에 백업하는 것이 좋습니다.
  2. 제약 조건: 기본 키 및 외래 키 제약 조건을 추가할 때는 관련된 데이터 무결성을 반드시 확인해야 합니다.
  3. 성능 고려: ALTER TABLE 명령어는 대규모 데이터베이스에 영향을 미칠 수 있으며, 특히 테이블이 큰 경우 성능 저하를 초래할 수 있습니다. 변경 작업을 수행할 때는 시스템 부하를 고려해야 합니다.

6. 요약

MySQL ALTER TABLE 문은 기존 테이블의 구조를 변경하는 데 필수적인 도구입니다. 이 명령어를 사용하여 열 추가, 수정, 삭제 및 제약 조건 설정과 같은 다양한 작업을 수행할 수 있습니다.

  • 정의: 기존 테이블의 구조 변경.
  • 기본 문법: ALTER TABLE table_name [alter_specification];
  • 열 추가/수정/삭제: 각 작업에 대해 각각의 구문 사용.
  • 제약 조건 추가: 기본 키, 외래 키 등의 제약 조건 설정 가능.
  • 테이블 이름 변경: 테이블의 이름을 변경하는 방법.

MySQL의 ALTER TABLE 기능을 활용하여 데이터베이스 구조를 효율적으로 관리할 수 있습니다.


copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com