민둥 개발자의 계발 블로그

Database SQL 문법 총 정리#2 - 데이터 정의어 DDL 본문

Study/Database

Database SQL 문법 총 정리#2 - 데이터 정의어 DDL

민둥산의 민둥이 2022. 6. 30. 10:53

데이터 정의어 (DDL)

  • Data Definition Language의 약자
  • 데이터베이스 구조 또는 스키마(schema)를 정의함
  • ※직접 데이터베이스의 테이블에 영향을 미치기에 입력하는 순간 AUTO COMMIT이 됨
    • Auto commit에 관한 설명은 트랜젝션어(TCL)에서 자세히 설명드리겠습니다^^
  • 데이터 정의어 모음 
    CREATE 데이터베이스의 객체를 생성 (데이터베이스, 테이블 등)
    ALTER 데이터베이스/ 테이블의 구조를 변경
    DROP 데이터베이스의 객체를 삭제(객체 내의 모든 데이터 및 구조 삭제)
    RENAME 데이터베이스의 객체 이름 변경
    COMMENT 데이터에 주석을 추가
    TRUNCATE 테이블에 할당된 공간을 포함한 모든 레코드 제거

CREATE 구문

  • 데이터베이스 또는 테이블을 생성할 때 사용하는 구문
  • 기본 문법
    --테이블 정의
    CREATE TABLE 테이블명 (
    		컬럼명 데이터타입[크기제한] [제약조건],
    		컬럼명2 데이터타입 [크기제한] [제약조건]
    		[,...]);
    
     
  • 사용 예제
    --테이블을 정의함
    CREATE TABLE(
    	idx INT 
    	name VARCHAR2(10)
    );
    

ALTER 구문

  • 테이블의 구조를 바꾸는 구문
  • 기본 문법
ALTER TABLE 테이블명
--아래 중의 1개를 사용
ADD|MODIFY|DROP|CHANGE 요소값;
  • ADD절
    • 새로운 칼럼 추가 (제약 조건도 추가 가능)
    ALTER TABLE 테이블명
    ADD [컬럼명] [데이터타입] [제약조건];
    
  • MODIFY절
    • 데이터타입 변경(유사한 데이터만 변경 가능)
    ALTER TABLE 테이블명
    MODIFY [컬럼명] [데이터타입];
    
  • DROP절
    • 기존 테이블의 컬럼 또는 제약조건을 제거
    ALTER TABLE 테이블명
    DROP [컬럼명];
    
  • CHANGE절
    • 칼럼명을 포함하여 모든 옵션을 바꿀 수 있음
    ALTER TABLE 테이블명
    Change [기존컬럼명] [바꿀컬럼명] 데이터타입(크기);
    
  • RENAME절
    • 테이블명 변경
    ALTER TABLE 원래 테이블의 명
    RENAME 바꿀테이블명;;
    

DROP 구문

  • 만들어진 오브젝트(테이블, 데이터베이스 등)를 삭제하는 구문
--테이블 삭제
DROP TABLE [테이블명];
--데이터 베이스 삭제
DROP DATABASE [데이터베이스명];

※DROP을 이용해 삭제할 경우 전체 데이터가 날아가기에 큰 문제 발생 가능하기에 조심해서 사용합시다..

반응형
Comments