ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Oracle - 테이블 구조 변경하기
    DataBase/Oracle 2024. 9. 19. 23:03
    반응형

    1. 테이블 생성 및 컬럼 추가

    먼저, 기본적인 테이블을 생성하고, 나중에 컬럼을 추가하는 과정을 설명하겠습니다.

    DROP TABLE test_table1;
    
    CREATE TABLE test_table1(
        data1 NUMBER NOT NULL,
        data2 NUMBER NOT NULL
    );
    • DROP TABLE test_table1;
      기존에 동일한 이름의 테이블이 있을 경우, 해당 테이블을 삭제하는 명령어입니다. 없으면 오류가 발생하니 IF EXISTS 옵션을 사용하는 것이 좋습니다. 하지만 Oracle에서는 IF EXISTS가 없으므로 먼저 DROP을 수행하는 방법으로 진행합니다.
    • CREATE TABLE test_table1 (...);
      새로운 테이블을 생성합니다. data1과 data2는 NUMBER형으로 선언되었고, 둘 다 NOT NULL 제약 조건이 있어 반드시 값이 들어가야 합니다.

    1.1. 컬럼 추가

    ALTER TABLE test_table1 
    ADD (data3 NUMBER NOT NULL);
    • ALTER TABLE ... ADD
      기존 테이블에 새로운 컬럼 data3을 추가하는 명령어입니다. NUMBER형이고 NOT NULL이므로 값이 필수입니다.

    2. 컬럼 데이터 타입 변경

    ALTER TABLE test_table1
    MODIFY (data3 VARCHAR2(100));
    • ALTER TABLE ... MODIFY
      기존에 추가했던 data3 컬럼의 데이터 타입을 NUMBER에서 VARCHAR2(100)로 변경합니다. 데이터 타입 변경 시 주의할 점은 기존에 해당 컬럼에 저장된 데이터와 호환이 가능한지 확인하는 것입니다.

    3. 테이블 이름 변경

    DROP TABLE test_table2;
    
    ALTER TABLE test_table1
    RENAME TO test_table2;

     

    • DROP TABLE test_table2;
      테이블 이름 변경 전에 동일한 이름의 테이블이 이미 존재하는 경우 삭제합니다. 테이블 이름을 변경할 때 중복을 방지하기 위해 먼저 삭제 작업을 수행합니다.
    • ALTER TABLE ... RENAME TO
      test_table1의 이름을 test_table2로 변경하는 명령어입니다. 이 명령어는 테이블의 이름만 변경할 뿐, 데이터나 구조에는 영향을 미치지 않습니다.

     


    4. 컬럼 이름 변경

    ALTER TABLE test_table2
    RENAME COLUMN data3 TO data4;

     

    • ALTER TABLE ... RENAME COLUMN
      test_table2에서 data3 컬럼의 이름을 data4로 변경하는 명령어입니다. 컬럼 이름을 변경하면 기존에 이 컬럼을 참조하던 SQL 쿼리나 애플리케이션 코드도 변경해 주어야 합니다.

    5. 컬럼 삭제

    ALTER TABLE test_table2 
    DROP COLUMN data4;
    • ALTER TABLE ... DROP COLUMN
      테이블에서 더 이상 필요하지 않은 data4 컬럼을 삭제하는 명령어입니다. 컬럼을 삭제하면 해당 컬럼에 저장된 모든 데이터도 함께 삭제되므로 신중하게 사용해야 합니다.

    6. 테이블 삭제

    DROP TABLE test_table2;
    • DROP TABLE
      최종적으로 test_table2 테이블 자체를 삭제하는 명령어입니다. 이 명령어는 테이블과 그 안의 데이터 모두를 완전히 삭제하므로 주의해야 합니다.
    반응형

    'DataBase > Oracle' 카테고리의 다른 글

    Oracle - View(뷰)  (0) 2024.09.26
    Oracle - 인덱스(index)  (0) 2024.09.25
    Oracle - 제약조건 추가하기  (0) 2024.09.12
    Oracle - 제약조건  (0) 2024.09.10
    Oracle - 테이블 생성 , 데이터타입  (0) 2024.09.03

    댓글

Designed by Tistory.