# DB SQL

* TRANSACTION
 1) 원자성
 2) 일관성
 3) 고립성
 4) 지속성

# 1. 데이터 타입

  • char
    • 고정형, 1글자를 넣어도 20byte가 잡힌다. +검색 속도 및 읽는 속도가 빠르다 +ex) ID, 주민번호
  • varchar
    • 넣는 데이터에 따라 byte 다르게 잡힌다. +varchar (mysql, ms-sql), varchar2(oracle)
  • number
    • number(5, 2) - 전체 5자리이며, 소숫점 아래가 2자리

# 2. SQL 종류

  • 데이터 정의 (DDL) CREATE, ALTER, DROP
  • 데이터 조작 (DML) SELECT, INSERT, UPDATE, DELETE
  • 데이터 제어 (DCL) GRANT, REVOKE
  • 트랜잭션 제어(TCL) COMMIT, ROLLBACK

# 3. 키 종류

  • PK (기본키)
    • 중복이 불가능한 키
  • FK (외래키)
    • 테이블간 연관 관계를 나타냄
    • PK가 변경시 같이 삭제를 하기 위해서는 CASCADE 설정 ""

# 4. 기본 문법

  • LIKE
    • '%' 길이에 상관 없는 문자 +'_' 한글자만 대체하는 문자
  • IN ('')
    • 검색값이 표함된 데이터 검색
  • ORDER BY _ DESC
  • GROUP BY _
  • DISTINCT
    • SELECT DISTINCT _ FROM TABLE // 원소에 넣는다.
  • CASE
    • SELECT CASE WHEN _ THEN _ END
  • JOIN
    • JOIN _ ON _ // 매핑 되는 것만 검색해서 보여줌
    • LEFT JOIN _ ON _ // LEFT 테이블 기준으로 다 보여주고, 없을 경우 NULL // RIGHT 테이블 매핑이 여러개일 경우 LEFT 테이블의 ROW 복사
    • RIGHT_JOIN _ ON _ // RIGHT 테이블 기준으로 다 보여주고, 없을 경우 NULL // LEFT 테이블 매핑이 여러개일 경우 RIGHT 테이블의 ROW 복사
    • FULL OUTER JOIN _ ON _ // 양쪽 모두 보여준다.
  • DUAL
    • 함수 테스트를 위한 DUMMY 테이블
  • UNION
    • 중복이 없는 합집합
  • UNION ALL
    • 중복을 허용하는 합집합
  • INTERSECT
    • 교집합
  • MINUS
    • 차집합
  • mariaDB - now() 함수
Last Updated: 10/1/2022, 5:23:47 PM