DB/SQLD
[SQLD] 명령어 정리
탄중이
2022. 11. 26. 12:08
반응형
* DML / DDL / DCL / TCL
명령어 | 역할 | 예시 |
DML (Data Manipulation Language) |
데이터(행)을 검색, 수정, 삽입, 삭제 | INSERT INTO UPDATE DELETE MERGE(INSERT + UPDATE) |
DDL (Data Definition Language) |
데이터 테이블(셋)을 생성, 수정, 삭제 | CREATE TABLE ALTER TABLE RENAME TABLE DROP TABLE TRUNCATE TABLE |
DCL (Data Control Language) |
데이터 사용자 또는 객체의 사용 권한을 관리 | GRANT(권한부여) REVOKE(권한회수) |
TCL (Tansaction Control Language) |
트랜잭션을 관리, 제어 | COMMIT(반영) ROLLBACK(최신 커밋까지 되돌림) SAVEPOINT(돌아가는 포인트) |
* DELETE vs TRUNCATE vs DROP
원본 테이블 | 결과 | ||||||||||||||||||||||||
|
DELETE (여전히 용량 차지하는중)
|
||||||||||||||||||||||||
TRUNCATE(용량 차지 x, 구조는 유지)
|
|||||||||||||||||||||||||
DROP(완벽한 삭제) |
* COUNT 집계함수
사용 형태 | 결과 값 | 예시 |
COUNT(*) COUNT(1) COUNT(2) ... |
전체 테이블의 행의 수를 출력한다. NULL 값을 포함해서 행의 수 계산 |
SELECT COUNT(*) ~ |
COUNT(컬럼명) | NULL값을 제외한 행의 수를 계산 | SELECT COUNT(학과) |
COUNT(DISTINCT 컬럼명) | NULL, 중복을 제외한 행의 수를 계산 | SELECT COUNT(DISTINCT 학과) |
* 주의사항
NULL
- NULL은 반드시 IS NOT NULL로 해결한다.
- IS NOT NULL (O) | != NULL(X)
- IS NULL(O) | == NULL(X)
DISTINCT
- SELECT DISTINCT 컬럼명 단독 사용시 NULL도 포함
- SELECT COUNT(DISTINCT 컬럼명) 사용시 NULL은 제외하고 카운트
- DISTINCT는 쿼리문 안에서 한 번만 사용한다.
COUNT
- COUNT(*) == COUNT(1) 이다
-> COUNT(1)은 1값으로 가득 찬 파생 컬럼을 생성하고, 그 숫자를 새는것임.
컬럼1 |
1 |
2 |
NULL |
컬럼1 | 1 |
1 | 1 |
2 | 1 |
NULL | 1 |
반응형