본문 바로가기
DataBase/MySQL

MySQL ALTER문 정리 (DB와 Table 변경)

by 코딩이라구 2022. 9. 30.

MySQL에서 ALTER문은 데이터베이스(Dababase)와 테이블(Table)의 전체적인 특성 및 내용을 수정할 수 있는 SQL(Structured Query Language) Query문입니다.

  • 데이터베이스의 CHARACTER SET과 COLLATE를 변경할 수 있습니다.
  • 테이블의 컬럼을 추가(ADD), 삭제(DROP), 수정(MODIFY COLUMN)할 수 있으며, 제약 조건을 변경하실 수 있습니다.

 


MySQL ALTER 문 Database, Table 수정/변경

 

1. ALTER DATABASE

⊙ 데이터베이스 CHARACTER SET과 COLLATE 변경

  • 데이터베이스에서 CHARACTER SET(문자 집합)은 문자와 그 문자들을 코드화한 인코딩들의 조합입니다. 모든 CHARACTER SET은 적어도 1개 이상의 COLLATE를 가지고 있어야 합니다.
  • 가장 널리 사용되고 있는 CHRACTER SET은 utf8(유니코드를 지원)과 euckr(한글 지원) 문자셋입니다.
    • ALTER DATABASE [데이터베이스명] CHARACTER SET = [문자셋명]
  • COLLATE(콜레이션)은 문자열을 비교, 정렬하기 위하여 정의된 규칙들의 집합입니다. 어떻게 문자열을 비교하고 정렬할지를 정해놓은 규칙들의 집합으로 CHARACTER SET에 속합니다.
  •  가장 널리 사용되고 있는 COLLATE는 utf8_general_ci(기본 설정), euckr_korean_ci 콜레이션입니다.
    • ALTER DATABSE [데이터베이스명] COLLATE = [콜레이션명]

CHARACTER SET과 COLLATE는 주로 동시에 작성하는 경우가 많습니다.

/* 예제 */
ALTER DATABASE sample CHARACTER SET = utf8 COLLATE = utf8_general_ci;

2. ALTER TALBE

⊙ 테이블 컬럼 추가(ADD)

  • ALTER문에서 ADD 명령어는 테이블을 생성할 때 추가하지 못한 컬럼이나 다른 용도의 컬럼이 필요한 경우 테이블의 새로운 컬럼을 추가할 수 있습니다.
    • ALTER TABLE [테이블명] ADD [컬럼명] [컬럼타입]
/* 예제 */
ALTER TABLE sample ADD address VARCHAR(100);

⊙ 테이블 컬럼 삭제(DROP)

  • ALTER문에서 DROP 명령어는 테이블의 컬럼을 삭제할 수 있습니다.
    • ALTER TABLE [테이블명] DROP [컬럼명]
/* 예제 */
ALTER TABLE sample DROP address;

⊙ 테이블 컬럼 수정(MODIFY COLUMN)

  • ALTER문에서 MODIFY COLUMN 명령어는 테이블의 컬럼 타입 및 제약 조건 등을 수정할 수 있습니다.
  • 여러 개의 컬럼을 동시에 변경할 수 있습니다.
    • ALTER TABLE [테이블명] MODIFY COLUMN [컬럼명1] [컬럼타입1]
  • 테이블의 컬럼 제약 조건 변경 방법은 문법이 조금씩 다르므로 아래 링크에 새롭게 포스팅하였습니다.
/* 예제 */
-- INT(11->5)
ALTER TABLE sample MODIFY COLUMN id INT(5);

-- 여러 개 컬럼 동시에 변경 INT(11->5), VARCHAR(10->20)
ATLER TABLE sample
MODIFY COLUMN id INT(5),
MODIFY COLUMN name VARCHAR(20);

⊙ 테이블 컬럼명 변경(CHANGE)

  • ALTER문에서 CHANGE는 테이블의 컬럼명을 수정할 수 있습니다.
    • ALTER TABLE [테이블명] CHANGE [변경전컬럼명] [변경후컬럼명] [컬럼타입]
/* 예제 */
-- 기존 id 컬럼명을 no 컬럼명으로 변경
ATLER TABLE sample CHANGE no id INT;

3. 참고 자료 링크

 

이상으로 MySQL에서 데이터베이스 또는 테이블을 수정하는 ALTER문에 대하여 알아보았습니다.

댓글