4. 그룹 함수
💡 데이터를 GROUP BY 하여 나타낼 수 있는 데이터를 구하는 함수
- 집계 함수
- COUNT, SUM, AVG, MAX, MIN 등
- 소계 함수
- ROLLUP : 소그룹 간의 소계 및 총계를 계산하는 함수, 일방향으로 그루핑
- CUBE : 조합할 수 있는 모든 그룹에 대한 소계를 집계하는 함수
- GROUPING SETS : 특정 항목에 대한 소계를 계산하는 함수
ch 3. 관리 구문
1. DML
💡 Data Manipulation Language란 의미로, 데이터 입럭, 수정, 삭제, 조회하는 명령어이다.
- 데이터 입력 : 테이블에 데이터를 입력하는 명령어
- INSERT INTO 테이블명 (컬럼명1, 컬럼명2 …) VALUES (데이터1, 데이터2 …);
- 데이터 수정 : 이미 저장된 데이터를 수정하는 명령어
- UPDATE 테이블명 SET 컬럼명 = 새로운 데이터 (WHERE 수정할 데이터에 대한 조건);
- 데이터 삭제 : 이미 저장된 데이터를 삭제하는 명령어
- DELETE FROM 테이블명 (WHERE 수정할 데이터에 대한 조건);
- 데이터 일괄 입력, 수정 : 테이블에 데이터를 입력하거나 변경을 한번에 하는 명령어
- MERGE INTO 타겟 테이블명 USING 비교 테이블명 ON 조건 …
2. TCL
💡 Transaction Contral Language란 의미로, 트랜젝션을 제어하는 명령어이다.
COMMIT : 변경된 내용을 반영하는 명령어이고, COMMIT을 하지 않으면 메모리에만 반영되어 휘발된다.
ROLLBACK : 변경된 내용을 취소하는 명령어이다.
SAVEPOINT : ROLLBACK시 해당 지점까지만 복구할 수 있도록 지정해주는 명령어이다.
트랜잭션의 특징
- 원자성 : 트랜잭션의 동작들은 모두 성공하거나 모두 실패해야 한다.
- 일관성 : 트랜잭션 후에도 데이터에 일관성이 있어야 한다.
- 독립성 : 트랜잭션은 독립되어 수행되어야 한다. 참조중인 데이터를 변경할 수 없다.
- 지속성 : 트랜잭션이 변경한 데이터가 영구적으로 저장되어야 한다.
3. DDL
💡 Data Definition Language란 의미로, 데이터를 정의하는 명령어이다.
CREATE : 테이블을 생성하는 명령어이다.
ALTER : 테이블의 구조를 변경하는 명령어이다.
DROP : 테이블을 삭제하는 명령어이다.
RENAME : 테이블의 컬럼명을 변경하는 명령어이다.
TRUNCATE : 테이블에 저장된 데이터를 모두 제거하고 로그를 만들지 않는, ROLLBACK이 불가능한 명령어이다.
4. DCL
💡 Data Control Language란 의미로, USER를 생성하고 USER에게 권한을 부여하거나 회수하는 명령어이다.
USER 관련 명령어
- CREATE USER 사용자명 IDENTIFIED BY 패스워드;
- ALTER USER 사용자명 IDENTIFIED BY 패스워드;
- DROP USER 사용자명;
권한 관련 명령어
- GRANT 권한 TO 사용자명;
- REVOKE 권한 FROM 사용자명
ROLE 관련 명령어
- CREATE ROLE 롤명;
- GRANT 권한 TO 롤명;
- GRANT 롤명 TO 사용자명;