read

1. SQL 종류

종류 예시 설명
데이터 조작어(DML) SELECT, INSERT, UPDATE, SELECT 데이터 베이스에 들어있는 데이터를 조회하거나 명령하고, 테이블에 들어 있는 데이터에 변형을 가하는 명령어
데이터 정의어(DDL) CREATE, ALTER, DROP, RENAME 데이터 구조를 정의하는데 사용되며, 구조를 생성하거나 변경하거나 삭제하는 명령어
데이터 제어어(DCL) GRANT, REVOKE 데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어
트랜잭션 제어어(TCL) COMMIT, ROLLBACK DML에 의해 조작된 결과를 트랜잭션 별로 제어하는 명령어
  • 참고: SELECT > FROM > WHERE > GROUP BY > HAVING > ORDER BY
  • 참괴: GROUP BY ROLLUP (position, subject)

2. 트랜잭션의 특성

특성 설명
원자성 트랜잭션에 포함된 명령들은 모두 수행되거나, 모두 수행되지 않아야함
일관성 트랜잭션이 실행되기 전의 데이터베이스의 내용이 잘못되어 있지 않다면 이후에도 않아야함
고립성 트랜잭션은 다르 트랜잭션과 독립적으로 실행되어야함
지속성 트랜잭션의 결과는 반드시 데이터베이스에 영구적으로 저장되어야함


3. 제약조건

  • 데이터의 품질의 높이기 위하여 사용
  • 테이블 생성시 무결성 제약조건을 정의하여 프로그래밍 과정을 줄여줌
  • 일시적으로 활성화 또는 비활성화 가능

  • 종류
    1. Primary key: 중복된 데이터와 Null값을 입력하지 못함
    2. Unique: 중복된 데이터를 입력하지 못함
    3. Not null: Null값을 입력하지 못함
    4. Check: 특정 column에만 설정하는 제약
    5. Foreign key: 참조하는 column에 거는 제약
  • SQL문
    1. 제약 추가: ALTER TABLE 테이블명 ADD CONSTRAINT 제약이름
    2. 제약 수정: ALTER TABLE 테이블명 MODIFY 컬럼명 컬럼조건
    3. 제약 삭제: ALTER TABLE 테이블명 DROP CONSTRAINT 제약이름
    4. 제약 활성: ALTER TABLE 테이블명 DISABLE CONSTRAINT 제약조건
    5. 제약 비활성: ALTER TABLE 테이블명 ENABLE CONSTRAINT 제약조건
    6. 참조 비활성: ALTER TABLE 테이블명 DROP 제약조건 CASCADE;

4. NULL

  • 공백 ≠ NULL
  • SUM(): NULL 무시하고 연산
  • NVL(“값”,”지정값”): 값이 NULL인 경우 지정값 출력
  • NVL2(“값”,”지정값”,”지정값2”): 값이 NULL아 아닌 경우 지정값1, NULL인 경우 지정값2 출력
  • NULLIF(“EXP1”,”EXP2”): EXP1 = EXP2 이면 NULL, 다르면 EXP1
  • DECODE(“EXP1”,”EXP2”,”EXP3”): EXP1 = EXP2이면 EXP3, 아니면 NULL
  • CASE: IF-THEN-ELSE 만족하지 않으면 NULL
  • COALESCE: NULL이 아닌 최초의 EXP 출력

  • COUNT
    • COUNT(*): 테이블의 모든 ROW의 수
    • COUNT(column): 해당 column의 NOT NULL인 ROW의 수
    • COUNT(DISTINCT column): 해당 column의 중복을 제거하고 NOT NULL인 ROW의 수
Blog Logo

Bom


Published

Image

Data Scientist

Data Scientist가 되고 싶은 성장하는 데린이

Back to Overview