SQL 개발자(SQLD) 학습노트 - SQL 기본 및 활용 (마지막)

@JHSHIN·2023년 3월 17일
0
post-thumbnail

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 롤명;
    • ROLE을 생성하는 명령어이다.
  • GRANT 권한 TO 롤명;
    • ROLE에 권한을 부여하는 명령어이다.
  • GRANT 롤명 TO 사용자명;
    • ROLE을 사용자에게 부여하는 명령어이다.
profile
We Need Better UX

0개의 댓글