본문 바로가기

Dev Books Review/모두의 SQL

[모두의 SQL] 10장. DDL: 테이블과 열 조작

  • DDL(Data Definition Language)
    • 데이터정의어, 테이블과 열을 생성/변경/삭제하는 명령어
    • 따로 커밋하지 않아도 데이터베이스에 즉각 반영되며 데이터사전(data dictionary)에 기록
  • CREATE: 테이블 생성
    • 테이블과 열 이름 생성 규칙
      • 동일한 사용자가 동일한 이름의 테이블 중복 생성X, 테이블 안의 열 이름도 동일 이름으로 생성 불가
      • SELECT, FROM, COUNT와 같은 예약어 사용 불가
      • 테이블 이름은 문자로 시작
      • 문자 길이는 1~30바이트 이내
  • CREATE TABLE 테이블이름 (열이름1 데이터타입, 열이름2 데이터타입[(자릿수)], ... );
  • ALTER: 테이블 수정
    • ALTER TABLE ~ADD절의 특징
      • 새로운 열 추가 가능 BUT 기존 열 삭제 불가
      • 새로 생성되는 열의 위치 지정 불가 (테이블의 마지막에 위치)
      • 테이블에 이미 행이 있을 경우 열 추가 시 새로운 열의 데이터 값은 NULL로 초기화
    ALTER TABLE 테이블이름
    			MODIFY(열이름1 데이터타입,
    						 열이름2 데이터타입,
    						 ...
    						 );
    
    • 이미 데이터를 담고 있는 열이라도 허용 범위 준수 시 정의 수정 가능 BUT 허용범위에 맞지 않으면 오류 발생
    ALTER TABLE 테이블이름 RENAME COLUMN 열이름1 to 바꾸려는 열이름1;
    
    ALTER TABLE 테이블이름 DROP COLUMN 열이름;
    
  • ALTER TABLE 테이블이름 ADD(열이름1 데이터타입, 열이름2 데이터타입, ... );
  • TRUNCATE: 테이블의 내용 삭제하기
    • 테이블의 데이터 모두 삭제, 사용하던 기억 공간 해제
    • 테이블에 생성된 객체 삭제
    • 테이블의 모든 데이터가 삭제되지만 테이블의 구조는 삭제되지 않음
    • 삭제 여부를 묻지 않으며 삭제된 데이터는 자동 커밋
    TRUNCATE TABLE 테이블이름;
    
  • DROP: 테이블 삭제하기
    • 테이블을 완전히 삭제
    • 테이블에 있는 모든 자료와 인덱스 삭제, 사용하던 저장공간 돌려줌
    • 테이블의 모든 구조와 데이터 삭제
    • DDL 명령어이므로 트랜잭션 자동 커밋
    • 모든 인덱스와 제약조건 삭제

 

 

 

 

 

모두의 SQL | 김도연 - 교보문고

모두의 SQL | 난생처음 SQL로 데이터를 분석하고 가공해야 한다면? 초보자와 비전공자를 위한 가장 쉬운 SQL 입문서 인터넷이 발전하고 페이스북과 같은 소셜 미디어가 활성화되면서 데이터로 모

product.kyobobook.co.kr