오라클 컬럼 명 변경 - olakeul keolleom myeong byeongyeong

개인적인 정리

오라클 컬럼 이름 변경 본문

DB/ORACLE

오라클 컬럼 이름 변경

yeon.Biju 2021. 2. 19. 11:50

오라클에서 컬럼 이름을 변경하는 방법

   - RENAME COLUMN 을 사용한다.

ALTER TABLE 테이블명 RENAME COLUMN 변경전 칼럼명 TO 변경후 칼럼명 ;

ALTER TABLE TBL_NAME RENAME COLUMN AAAA TO BBBB ;

'DB > ORACLE' 카테고리의 다른 글

[ORACLE] NULL 치환 - NVL  (0)2021.07.28
[Oracle]RTRIM()  (0)2020.06.11
[Oracle]RPAD()  (0)2020.06.11
[Oracle]ROW_NUMBER()  (0)2020.06.11
[Oracle]ROUND(number)  (0)2020.06.10
[Oracle]ROUND(date)  (0)2020.06.10
[Oracle]REPLACE()  (0)2020.06.10
[Oracle]REMAINDER()  (0)2020.06.10

TagOracle

'DB/ORACLE' Related Articles

  • [ORACLE] NULL 치환 - NVL 2021.07.28
  • [Oracle]RTRIM() 2020.06.11
  • [Oracle]RPAD() 2020.06.11
  • [Oracle]ROW_NUMBER() 2020.06.11

more

0 Comments

    댓글쓰기 폼

    이름 비밀번호

    Secret

    내용

    * 컬럼 추가/삭제, 데이터 타입 변경, 코멘트 변경

    * ALTER문 일하다 보면 자주 쓰는데 정말 기억 안 나고 매번 찾기 귀찮다. 모아 두자.

    1. 컬럼 추가/수정/삭제

    -- 추가 
    ALTER TABLE 테이블명 ADD(컬럼명 VARCHAR2(100));
    
    -- 수정(데이터 없을 시, 데이터 있을 경우는 아래 4_2번 SQL 참고)
    -- 디폴트값 N
    ALTER TABLE 테이블명 MODIFY(컬럼명 VARCHAR2(100) DEFAULT 'N');
    
    -- 삭제
    ALTER TABLE 테이블명 DROP COLUMN 컬럼명;

    2. 컬럼 이름 변경

    ALTER TABLE 테이블명 RENAME COLUMN 기존컬럼명 TO 변경컬럼명;

    3. 테이블/컬럼 코멘트 수정

    -- 테이블 코멘트 수정
    COMMENT ON TABLE 테이블명 IS '코멘트 내용';
    
    -- 컬럼 코멘트 수정
    COMMENT ON COLUMN 테이블명.컬럼명 IS '코멘트 내용';

    4. 컬럼 타입 변경

    1) 기존 데이터 없을 시

    ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입
    
    ALTER TABLE TB_001 MODIFY COL1 VARCHAR2(100)

    2) CLOB 혹은 기존 데이터 존재 시

    * 데이터가 있으면 위 ALTER 문이 안 먹는다. 

    * VARCHAR2를 CLOB으로 변경하려면 컬럼을 추가하고, COPY 해서 지우는 방법을 해야 한다.

    -- 새로운 컬럼 생성
    ALTER TABLE 테이블명 ADD 임시컬럼명 데이터타입;
    
    -- 데이터 COPY
    UPDATE 테이블명 SET 임시컬럼명 = 기존컬럼명;
    
    -- 기존 컬럼 삭제
    ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
    
    -- RENAME
    ALTER TABLE 테이블명 RENAME COLUMN 임시컬럼명 TO 기존컬럼명;

    오늘은 오라클 DB의 테이블을 변경하는 방법에 대해 알아보겠습니다.

    테이블을 변경할 때는

    ALTER TABLE 라는 명령어를 사용하게 됩니다.

    ALTER TABLE [테이블명] 이 기본 구조이고

    그 뒤에, 컬럼을 수정하거나 삭제하느냐에 따라 MODIFY 명령어를 붙이느냐, ADDDROP 등을 붙이느냐가 달라집니다.

    그럼 하나씩 차례대로 알아봅시다!

    테이블 컬럼 추가

    먼저 테이블에 컬럼을 추가하는 방법입니다.

    추가는 ADD명령어를 이용하여 다음과 같이 작성하면 됩니다.

    ALTER TABLE [테이블명] ADD 컬럼명 데이터타입(길이);

    ALTER TABLE User ADD USER_ID VARCHAR2(15);

    위 예시는 User라는 테이블에 USER_ID라는 컬럼을 VARCHAR2(15) 타입으로 설정하여 추가한 쿼리입니다.

    테이블 컬럼 수정

    테이블의 컬럼을 수정할 때에는

    MODIFY명령어를 이용하여 다음과 같이 작성합니다.

    ALTER TABLE [테이블명] MODIFY [컬럼명] [데이터타입(길이)];

    이 때, 컬럼의 데이터 타입을 변경할건지, 아니면 컬럼의 길이를 변경할건지에 따라

    각각 상황에 맞게 입력해주면 됩니다.

    ALTER TABLE User MODIFY User_NAME VARCHAR2(10);

    위 예시는 User 테이블의 User_NAME 컬럼의 데이터타입을 VARCHAR2로 길이는 10으로 변경한 쿼리 입니다.

    테이블 컬럼명 변경

    테이블의 컬럼명을 변경할 때에는

    RENAME COLUMN명령어를 이용하여 다음과 같이 작성합니다.

    ALTER TABLE [테이블명] RENAME COLUMN [변경전 컬럼명] TO [변경후 컬럼명];

    ALTER TABLE User RENAME COLUMN User_Password TO User_Pw;

    위 예시는 User 테이블의 User_Password 라는 컬럼의 이름을 User_Pw로 변경한 쿼리입니다.

    테이블 컬럼 삭제

    테이블의 특정 컬럼을 삭제하고 싶을 때에는

    DROP COLUMN 명령어를 이용하여 다음과 같이 작성합니다.

    ALTER TABLE [테이블명] DROP COLUMN [삭제할 컬럼명];

    ALTER TABLE User DROP COLUMN User_Name;

    위 예시는 User 테이블에 존재하는 User_Name이라는 컬럼을 삭제하는 쿼리입니다.

    컬럼 기본값 및 NULL 설정 변경

    컬럼의 기본값이나 Null 설정을 변경할 때에는

    컬럼을 수정할 때와 마찬가지로 MODIFY 명령어를 사용하게 됩니다.

    [테이블 기본값 설정]

    ALTER TABLE User MODIFY User_NAME VARCHAR2(15) DAFAULT 'KIM';

    [테이블 기본값 삭제]

    ALTER TABLE User MODIFY User_NAME DEFAULT NULL;

    [테이블 NOT NULL 설정]

    ALTER TABLE User MODIFY User_id VARCHAR(10) NOT NULL;

    [테이블 NOT NULL 제거]

    ALTER TABLE User MODIFY User_id VARCHAR2(10) NULL;

    [기본값 + NULL 설정]

    ALTER TABLE USER MODIFY User_id VARCHAR2(10) DEFAULT 'kim' NOT NULL;

    주의사항

    위의 방법대로 컬럼의 길이(크기)를 변경한다거나, 데이터 타입을 변경할 때 오류가 발생할 수 있습니다.

    ① 컬럼의 크기를 변경하는 경우에는,

    기존 데이터 중 바꿀 크기보다 큰 데이터가 있다면 오류가 발생할 수 있는데

    이 때는 그러한 데이터가 있는지 확인을 하고 바꾸어야 합니다.

    [바꿀 크기가 10인데 10보다 큰 데이터가 있는지 확인하는 쿼리]

    SELECT * FROM User
    WHERE length(User_Name) > 10;

    ② 데이터 타입을 변경하는 경우에는,

    해당 컬럼의 데이터를 모두 비워야 변경이 가능합니다.

    그러기 위해서는,

    임시로 temp컬럼을 하나 생성해준 다음

    temp컬럼에 잠시 데이터를 옮겨놓고

    원래 컬럼의 데이터를 모두 비운 후에 데이터 타입을 변경하고

    temp컬럼의 데이터들을 다시 원래 컬럼으로 옮겨주면 됩니다.

    오늘은 이렇게 오라클 테이블을 수정하는 방법에 대해 알아보았습니다.

    테이블을 생성하고 나면 중간에 테이블을 변경해야 할 일이 많을텐데,

    이러한 방법을 잘 숙지하셨다가 수정하시면 좋을 것 같습니다.

    오늘도 긴 글 읽어주셔서 감사합니다.