본문 바로가기

데이터베이스/SQL & PL/SQL

[SQL] 테이블의 컬럼을 재정의 해보자, MODIFY COLUMN!

 

 

Structured Query Language

 

 

 

 

 

 

 

 

 

- MODIFY COLUMN -

 

 

 

 

 

 이번 글에서는 테이블에 정의된 컬럼에 대해서 데이터 타입과, 기본값(Default), NOT NULL 제약에 대해서 변경할 수 있는 명령어에 대해서 알아볼까 합니다.

 

 역시, ALTER TABLE을 통해서 작업을 하구요. 일단 어떻게 명령어를 작성하는지 알아봐야겠죠?

ALTER TABLE 테이블명

MODIFY (

컬럼1 데이터 타입 기본값 NOT NULL,

컬럼2 데이터 타입

...

)

 

 MODIFY 다음부터는 'CREATE TABLE' 명령어를 사용해서 각 컬럼을 정의할 때와 동일합니다.

하지만, 첫 컬럼부터 마지막 컬럼까지 다 적을 필요는 없구요, 변경할려는 테이블에 관해서만 적으면 되겠습니다.

 1. 변경할 테이블 입니다.

 

2. 컬럼에 대한 정의 변경을 시도합니다.

 

3.변경된 테이블을 확인합니다.

 

 

 하지만, 모든 상황에 대해서 컬럼 변경이 되는 것은 아닙니다.

데이터가 존재한다면, 데이터에 어떤 영향을 줄 수 있는 상황은 변경을 할 수 없습니다.

이를테면, 다음과 같은 조건입니다.

  1. 컬럼의 크기는 늘릴 수 있으나 줄이지는 못합니다. 하지만, 해당 칼럼에 데이터가 없다면, 줄일 수 있습니다.

  2. 컬럼이 NULL 값만을가지고 있다면, 데이터 타입 변경이 가능합니다.

  3. 컬럼이 NULL 값이 없을 경우에만, NOT NULL 제약을 추가할 수 있습니다.

  4. 컬럼의 기본값(Default) 변경시, 변경 후 추가되는 레코드에 대해서만 적용됩니다.

 

이상입니다.