SQL의 개요

  • SQL은 관계대수에 기초하여 RDBMS의 데이터 관리를 위해 설계된 언어
  • 1986년 ANSI, 1987년 ISO에서 표준으로 제정
  • 비절차적(선언형) 언어, 필요한 데이터만 기술
  • 인간의 언어와 매우 유사하고 간단, 명

DDL : 데이터 정의 언어

  • 데이터 베이스 내의 객체를 생성 및 삭제하고 그 구조를 조작하는 명령어의 집합
  • 데이터가 준수해야 하는 제약 조건을 기술

  1. 데이터베이스 객체의 종류
    • 데이터 저장 : 테이블, 인덱스, 뷰
    • 데이터 조작 : 트리거, 프로시저, 함수

  2. 데이터 정의 명령어의 종류
    • CREATE : 객체 생성
    • ALTER : 객체 수정
      • [ADD COLUMN 컬럼 데이터타입 [제약조건]]
      • [DROP COLUMN 컬럼 이름]
      • [CHANGE COLUMN 수정전컬럼 수정후컬럼]
      • [MODIFY COLUMN 컬럼 데이터타입]
    • DROP : 객체 삭제

  3. 데이터 타입의 개념
    • 컬럼이 가질 수 있는 값의 범위, 즉 도메인을 결정
    • 프로그래밍 언어에서 변수를 생성하는 데이터 타입의 사용목적과 방법이 유사
    • 정수
      1) TININY : 1바이트 정수, -128 ~ 127
      2) SMALLINT : 2바이트 정수, -32768~32767
      3) INT : 4바이트 정수 - 약 -20억 ~20억
      4) BIGINT : 8바이트 정수
    • 실수
      1) 고정소수형 :
      1) DECIMAL(M,N) - 전체 M자리, 소수점 이하 N자리 숫자
      2) NUMERIC : DECIMAL과 동일
      2) 부동소수형 :
      1) FLOAT : 4바이트 크기 부동 소수
      2) FLOAT(P) : 소수점 이하 P개 자리의 부동 소수
      3) DOUBLE : 8바이트 크기 부동 소수형
    • 날짜 및 시간 데이터 타입
      1) DATE : ‘YYYY-MM-DD’ 형식의 시간
      2) YEAR : ‘YYYY’ 형식의 연도
      3) TIME : ‘HH:MI:SS’ 형식의 시간
      4) DATETIME : ‘YYYY-MM-DD HH:MI:SS’ 형식의 날짜 및 시간
      5) TIMESTAMP - DATETIME과 동일
    • 문자 데이터 타입
      1) CHAR(N) - 최대길이가 N인 고정길이 문자열
      2) VARCHAR(N) - 최대 길이가 N인 가변길이 문자열
      3) TEXT, CLOB : 길이가 최대 2~4GB인 가변 길이 문자열
      4) ENUM : 유한개의 문자열 집합 중 하나의 값을 선택

DDL 제약조건

테이블과 테이블에 존재하는 데이터를 보다 무결하게 관리하기 위한 목적으로 사용

  1. PRIMARY KEY : 기본키 지정, UNIQIE && NOT NULL
  2. FOREIGN KEY : 외래키 지정, 참조 컬럼 정의
  3. NOT NULL : NULL이 될 수 없는 컬럼에 지정
  4. UNIQUE : 동일한 컬럼 값을 가질 수 없음을 지정
  5. AUTO_INCREMENT : 레코드가 추가 될 때 자동적으로 속성값이 증가되어 입력
  6. CHECK : 컬럼값이 특정 조건 준수 여부 지정

Updated: