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

원본 테이블 결과
이름 학번 학과
김컴공 153495 컴퓨터공학과
이경영 134025 경영학과
박경행 154235 경찰행정학과
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
반응형