1. CREATE 명령 ( 생성하기 )

   (1) 테이블 복사(특정컬럼만)

      [EX] CREATE TABLE [원하는 TABLE명]

            AS

               SELECT ... 

               FROM [복사할 TABLE명]

               WHERE ... ;



   (2) 테이블 복사(구조만)

      [EX] CREATE TABLE [원하는 TABLE명]

            AS

               SELECT * FROM [복사할 TABLE명] WHERE 1=2;



   (3) 가상 컬럼 테이블 생성(11g, 12c 가능)

      : 임의로 연산된 값이 들어갈 수 있도록 설정 가능 ( 유지보수 하기 힘들듯.. 그래서 딱히 쓰일지는 모르겠다. )


      [EX] CREATE TABLE [원하는 TABLE명]

            (

               NO1 NUMBER NOT NULL

              ,NO2 NUMBER NOT NULL

              ,NO3 NUMBER GENERATED ALWAYS AS (NO1 + NO2) VIRTUAL

            );

                                                                                            - VIRTUAL은 생략 가능!

      [조회방법]

         INSERT INTO [생성된 TABLE명] (NO1, NO2) VALUES (10, 20);

   SELECT * FROM [생성된 TABLE명];




2. ALTER 명령 ( 수정하기 )

   (1) 컬럼 추가

      [EX] ALTER TABLE [생성된 TABLE명]

            ADD ( [원하는 COLUMN명] VARCHAR(20) );


   (2) 컬럼명 변경

      [EX] ALTER TABLE [생성된 TABLE명] RENAME COLUMN [바꾸기 전 COLUMN명] TO [바꾼 후 COLUMN명];


   (3) 컬럼 삭제

      [EX] ALTER TABLE [생성된 TABLE명] DROP COLUMN [생성된 COLUMN명];


   (4) 읽기 전용 & 읽기/쓰기 전용으로 셋팅 : 변경이 잘 없는 코드성 자료에 쓰기 적합

      ALTER TABLE [생성된 TABLE명] READ WRITE;

      ALTER TABLE [생성된 TABLE명] READ ONLY;


     -> ui 단(변경이 잘 없는 부분)에서 풀고 쓰기를 활용해서 값 저장하고 읽기 전용으로 다시 묶는 방식으로 쓰면 괜찮을듯




3. TRUNCATE 명령

   : TABLE 남기고, DATA, MEMORY, INDEX 모두 삭제

   * 주의할점 : ROLLBACK 불가능, 무조건 전체 삭제, TABLE 처음 상태로 초기화

    (DELETE 보다 빠르게 처리함, 대용량 DATA처리에 유리)


   [EX] TRUNCATE TABLE [삭제할 TABLE명];




4. DROP 명령

   : TABLE을 포함해서 전부 다 삭제

   [EX] DROP TABLE [삭제할 TABLE명];

+ Recent posts