10장 DDL : 테이블과 열 조작하기

·2024년 1월 10일
0

모두의 SQL

목록 보기
9/10

DDL이란?

  • DDL
    • Data Definition Language 데이터 정의어
    • 테이블과 관련 열을 조작(생성, 변경, 삭제)하기 위한 언어
    • 따로 커밋하지 않아도 데이터베이스에 즉각 반영되며 데이터 사전에 기록됨

CREATE : 테이블 생성하기

  • CREATE
    • 새로운 테이블을 생성할 때 사용
      CREATE TABLE 테이블 이름
             ( 열 이름 1 데이터 타입,
      				 열 이름 2 데이터 타입[(자릿수)],
      				 ...
      			 );

  • product_id(number 타입), product_name(varchar2 타입, 20자리), manu_date(date 타입) 열이 있는 sample_product 이름의 테이블을 생성하기
    CREATE TABLE sample_product
    			 ( product_id number,
    				 product_name varchar2(30),
    			   manu_date date)
    			 );

  • 해당 테이블에 신규 데이터 삽입하기
    INSERT INTO sample_product VALUES (1, 'television', to_date('140101', 'YYMMDD'));
     INSERT INTO sample_product VALUES (2, 'washer', to_date('150101', 'YYMMDD'));
     INSERT INTO sample_product VALUES (3, 'cleaner', to_date('160101', 'YYMMDD'));
     COMMIT;

  • 테이블 조회하기
    SELECT * FROM sample_product;

ALTER : 테이블 수정하기

  • ALTER
    • 이미 생성한 테이블에 열을 추가, 변경, 삭제하여 테이블의 구조 변경 가능

  • sample_product 테이블에 factory(varchar2 타입, 10자리) 열을 추가하기
    ALTER TABLE sample_product ADD (factory varchar(10));
    • 새로운 열을 추가할 수 있지만 테이블에 있던 기존의 열을 삭제할 수 없음
    • 새로 생성되는 열은 위치를 지정할 수 없음 (테이블의 마지막에 위치)
    • 테이블에 이미 행이 있다면 열을 추가했을 때 새로운 열의 데이터 값은 null로 초기화 됨

  • sample_product 테이블에 있는 factory 열의 데이터 타입과 크기를 char 타입 10자리로 바꾸기

    ALTER TABLE sample_product MODIFY (factory char(10));

  • sample_product 테이블에 factory 열 이름을 factory_name으로 바꿔보기

    ALTER TABLE sample_product RENAME COLUMN factory to factory_name;

  • sample_product 테이블의 factory_name 열을 삭제하기
    ALTER TABLE sample_product DROP COLUMN factory_name;

TRUNCATE : 테이블의 내용 삭제하기

  • TRUNCATE

    • 테이블의 데이터를 모두 삭제하고 사용하던 기억 공간도 해제함

  • sample_product 테이블을 TRUNCATE하기

    TRUNCATE TABLE sample_product;

  • DROP TABLE
    • 테이블을 완전히 삭제
    • 테이블을 삭제할 때 데이터베이스는 테이블에 있는 모든 자료와 그와 연관된 모든 인덱스를 삭제하고
      사용하고 있던 저장 공간을 돌려줌
      DROP TABLE sample_product;

0개의 댓글