SQL DML(Data Manipulation Language)

심주흔·2023년 5월 15일
0
post-thumbnail

sql개발자 자격증 공부를 하면서 기존에 알고 있던 내용이 아닌 새롭게 알게 된 내용을 정리하자!

Nologging

: 데이터베이스에 데이터를 입력하면 로그파일(Log file)에 그 정보를 기록한다.

  • Check point라는 이벤트가 발생하면 로그파일의 데이터를 데이터 파일에 저장한다.
  • Nologging 옵션은 로그파일의 기록을 최소화 시켜서 입력시 성능을 향상시키는 방법이다.
  • Buffer Cahce라는 메모리 영역을 생략하고 기록한다.
ALTER TABLE DEPT NOLOGGING;

DELETE와 TRUNCAGE

DELETE FROM 테이블명;

  • 테이블의 모든 데이터를 삭제한다.
  • 데이터가 삭제되어도 테이블의 용량은 감소하지 않는다. > 테이블의 용량은 초기화 되지 않는다.

TRUNCAGE FROM 테이블명;

  • 테이블의 모든 데이터를 삭제한다.
  • 데이터가 삭제되면 테이블의 용량은 초기화 된다.

테이블의 용량은 초기화 되지 않는다?
Oracle 데이터베이슨느 저장공간을 할당할 때 Extent 단위로 할당하는데 테이블에 데이터가 입력되면 Extent에 저장하게 된다.
만약 Extent의 크기가 MAX_EXTENTS를 넘어서게 되면 용량 초과 오류가 발생하게 되는데 즉, 최대로 저장 할 수 있는 공간의 의미를 가지고 있다.
DELETE문으로 데이터를 삭제하는 것은 삭제 여부만 표시하고 용량은 초기화 되지 않는 것이다.

DISTINCT

: 칼럼명 앞에 지정하여 중복된 데이터를 한 번만 조회하게 한다.

SELECT DISTINCT DEPTNO FROM EMP ORDER BY DEPINO

: EMP 테이블에 오름차순으로 정렬되어 있는 DEPINO값을 중복되지 않게 조회한다.

Alias

: 테이블명이나 칼럼명이 너무 길어서 간략하게 별칭을 설정하고 싶을 때 사용한다.

SELECT ENAME AS "이름" FROM EMP a
    WHERE a.EMPNO = 101;

  • 기존 ENAME이었던 칼럼명이 이름으로 출력된다.
  • EMP 테이블명 대신에 a를 사용한다. > a(EMP).EMPNO 값이 101인 것을 조회
profile
이봐... 해보기는 했어?

0개의 댓글