Web (웹), Server (서버)

[MySQL] 테이블 수정 ALTER TABLE - 테이블 이름 수정 / 컬럼 추가, 수정, 삭제

Oscar:) 2023. 3. 27. 21:03

 

지난 포스팅에서 테이블 생성 · 삭제를 적용해 보았다.

 

이어서 테이블 수정 구문을 알아보자.

 

 


 

테이블 정보를 관리할 때는, ALTER TABLE 구문을 사용한다.

*alter : 바꾸다

 

테이블 이름 변경

 

지난 포스팅에서 테이블 삭제 후 재생성하는 방법을 배웠다.

 

하지만 테이블에 데이터가 있다고 가정했을 때,

삭제하는 방법보다는 이름만 수정하는 방법을 택해야 할 것이다.

 

테이블 이름을 수정하는 문법은 다음과 같다.

문법)
ALTER TABLE '변경 전 테이블 이름' RENAME '변경 후 테이블 이름';

예시)
ALTER TABLE user RENAME userinfo;

 

SHOW TABLES; 명령어를 통해 변경 전·후를 확인해보자.

 

 

테이블 이름이 'user' > 'userinfo' 로 변경되었다.

 

 


 

테이블에 컬럼 추가

 

이미 생성된 테이블에 새로운 컬럼을 추가해보자.

문법)
ALTER TABLE '테이블 이름' ADD '추가할 컬럼 이름' '제약 조건';

예시)
ALTER TABLE user ADD age INT(3) NOT NULL;

 

마찬가지로, 테이블 구조를 확인하는 문법을 통해 확인해보자.

 

 

age 컬럼이 추가되었다.

 


 

+ 새로운 컬럼을 추가할 때, 위치를 지정해 줄 수 있다.

 

 

● 테이블의 첫 번째 위치에 컬럼 추가

문법)
ALTER TABLE '테이블 이름' ADD '추가할 컬럼 이름' '제약 조건' FIRST;

예시)
ALTER TABLE user ADD type VARCHAR(30) NOT NULL FIRST;

 

새로 추가한 'type' 컬럼이 테이블 맨 위에 추가된 것을 확인할 수 있다.

 

 

● 지정한 컬럼 다음 순서에 컬럼 추가

문법)
ALTER TABLE '테이블 이름' ADD '추가할 컬럼 이름' '제약 조건' AFTER '지정 위치 컬럼 이름';

예시)
ALTER TABLE user ADD hobby VARCHAR(30) NOT NULL AFTER id;

 

'id' 컬럼의 위치를 지정했고, 'id' 컬럼 다음 순서로 'hobby' 컬럼이 추가되었다.

 


 

컬럼 수정

 

컬럼의 정보(제약 조건)를 수정해보자.

문법)
ALTER TABLE '테이블 이름' MODIFY '수정할 컬럼 이름' '제약 조건';

예시)
ALTER TABLE user MODIFY nickname VARCHAR(20);

 

30글자로 제한되있던 'nickname' 컬럼의 조건을 20글자 제한으로 수정하고,

NOT NULL 제약 조건을 삭제했다.

 


 

컬럼의 이름과 정보를 동시에 수정하는 방법이다.

문법)
ALTER TABLE '테이블 이름' CHANGE '변경 전 컬럼 이름' '변경 후 컬럼 이름' '제약 조건';

예시)
ALTER TABLE user CHANGE nickname name VARCHAR(20) NOT NULL;

 

'nickname' 컬럼의 이름을 'name' 으로 변경하고,

NOT NULL 제약 조건을 추가했다.

 

 


 

컬럼 삭제

 

해당 컬럼을 삭제하는 구문이다.

문법)
ALTER TABLE '테이블 이름' DROP '삭제할 컬럼 이름';

예시)
ALTER TABLE user DROP phone;

 

'phone' 컬럼이 삭제된 것을 확인할 수 있다.

 


 

여러 작업 동시 수행

 

SQL 구문을 작성할 때, 한 번에 여러 작업을 수행할 수 있다.

 

반점(,)을 이용하며 '테이블 이름' 뒤의 구문만 반복 작성해주면 된다.

 

 

2개의 컬럼 동시에 삭제

 

'type' 컬럼과 'age' 컬럼을 동시에 삭제했다.

 

 

컬럼 삭제와 동시에 추가

 

'hobby' 컬럼을 삭제함과 동시에, 'age' 컬럼을 추가했다.

 

 


 

 

ALTER TABLE 구문을 사용해 테이블을 수정하는 방법에 대해 알아보았다.

 

다음 포스팅에서는 테이블에 데이터를 넣어보며 본격적으로 DB를 사용해 보겠다.

 

 

 

+ MySQL 버전에 따라서 SQL 문법 적용이 안될 때가 있을 수 있다.

이 포스팅 당시 본인이 사용한 버전은 [MySQL 5.7.41] 이다.