SQL개념(1)

2 분 소요

데이터베이스 바로가기

SQL 개요

  • Structured Query Langage 는 관계대수에 기초하여 RDMS의 데이터관리를 위해 설계된 언어

SQL의 구성

1) 데이터 정의 언어(DDL)

  • 데이터베이스 내의 객체를 생성 및 삭제하고 그 구조를 조작하는 명령어의 집합
  • 데이터가 준수해야 하는 제약조건을 기술
  • CREATE, ALTER, DROP 문 등
  • 객체의 종류
    • 데이터 저장 - 테이블, 인덱스, 뷰
    • 데이터 조작 - 트리거, 프로시저, 함수 등

1-1 스키마 생성

  • 스키마 란?
    • 스키마 = 데이터베이스
    • 한 조직의 데이터베이스 시스템의 운영에 필요한 테이블, 인덱스, 뷰 등의 데이터베이스 객체의 집합
-- 1. 스키마 생성 
CREATE SCHEMA [스키마 이름]
-- 2. 스키마 삭제
DROP SCHEMA [스키마 이름]

1-2 테이블 생성 / 삭제

-- 1. 테이블 생성 
CREATE TABLE userTBL --회원 테이블
( userID CHAR(8),
  userName NVARCHAR2(10),
  birthYear NUMBER(4),
  addr NUMBER(2),
  mobile1 CHAR(3),
  mobile2 CHAR(8),
  height NUMBER(3),
  mData DATE
  );
-- 2. 테이블 삭제
DROP TABLE [테이블 이름]

1-3 테이블 수정

  • 생성된 테이블에 컬럼을 추가, 수정 또는 삭제하는 명령어
-- 테이블 수정
ALTER TABLE [테이블 이름]
  [ADD COLUMN 컬럼 데이터타입[제약조건]]
  [DROP COLUMN 컬럼 이름]
  [CHANGE COLUMN 수정전컬럼 수정후컬럼]
  [MODIFY COLUMN 컬럼 데이터타입]

2) 데이터 조작어(DML)

  • DDL에 의해 정의된 테이블에 데이터를 조작하는 명령어의 집합
  • 데이터에 대한 CRUD(생성, 검색, 삭제, 수정) 명령을 포함
  • INSERT, UPDATE, DELETE, SELECT 문 등

3) 데이터 제어어(DCL)

  • 이건 운영할 때 사용하는데 지금 굳이 알아둘 필요는 없다.

데이터 타입

정수 데이터 타입

  1. TINYINT - 1바이트 정수, -128 ~ 127
    • 나이, 학년등의 크기가 작은 정수
  2. SMALLINT - 2바이트 정수, -32768 ~ 32767
    • 물품번호, 인원 등 중간 중간 크기의 정수
  3. INT - 4바이트 정수, 약 -20억 ~ 20억
    • 물품의 금액, 전화번호 등의 일반 크기의 정수
  4. BIGINT - 8바이트 정수
    • 계좌의 잔고, 천문학적인 크기의 정수

실수 데이터 타입

  1. 고정 소수형
    • DECIMAL(M,N) : 전체 M자리, 소수점 이하 N자리의 숫자를
    • NUMERIC : 위와 같이 정수자리와, 소수자리의 범위를 고정시킴
  2. 부동 소수형
    • FLOAT : 4바이트 크기 부동 소수
    • FLOAT(P) : 소수점 이하 P개 자리의 부동 소수
    • DOUBLE : 8바이트 크기 부동 소수형

날짜 및 시간 데이터 타입

  1. 날짜 데이터 타입
    • DATE : ‘YYYY-MM-DD’ 형식의 시간
    • YEAR : ‘YYYY’ 형식의 연도
  2. 시간 데이터 타입
    • TIME : ‘HH:MI:SS’ 형식의 시간
  3. 날짜 및 시간 데이터 타입
    • DATETIME :’YYYY-MM-DD HH:MI:SS’ 형식의 날짜 및 시간
    • TIMESTAMP : DATETIME과 동일하다!

문자 데이터 타입

  1. CHAR(N) : 최대 길이가 N인 고정길이 문자열
  2. VARCHAR(N) : 최대 길이가 N인 가변길이 문자열
  3. TEXT : 길이가 최대 2~4GB인 가변길이 문자열
  4. CLOB : 길이가 최대 2~4GB인 가변길이 문자열
  5. ENUM : 유한개의 문자열 집합 중 하나의 값을 선택
    • 성별, 혈액형

제약조건

  • 테이블과 테이블에 존재한는 데이터를 무결하게 관리하기 위한 목적으로 사용
  • DBMS는 테이블 조작 시 테이블에 정의된 제약조건을 만족시키는지 지속적으로 검사

제약조건의 종류

  1. PRIMARY KEY : 기본키 지정, UNIQUE와 NOT NULL 특성
  2. FOREIGN KEY : 외래키 지정, 참조 컬럼 정의
  3. NOT NULL : NULL이 될 수 없는 컬럼 지정
  4. UNIQUE : 동일한 컬럼값을 가질 수 없음은
  5. AUTO_INCREMENT : 레코드가 추가될 떄 자동으로 1부터 1씩 증가
  6. CHECK : 컬럼 값이 특정 조건 준수 여부 결정

댓글남기기