[Oracle] SQL 명령의 종류

devheyrin·2022년 7월 30일
1

Oracle

목록 보기
8/10

종류

  1. DDL - 데이터 정의 명령
  2. DML - 데이터 조작 명령
  3. DCL - 데이터 제어(관리)명령
  4. TCL - 트랜잭션 제어 명령

DDL ⭐

  • 대상 : 객체(테이블, 유저, … )
  • create - 새 객체 생성
  • alter - 컬럼 추가, 삭제, 변경
  • drop - 객체 삭제
  • truncate, rename
  • rename - 사용하지 않는것이 권장된다.

Create

SQL> create table ex(id number(3), name varchar2(10), tel varchar2(14));

테이블이 생성되었습니다.

Alter

-- 컬럼 추가 
SQL> alter table ex
  2  add addr varchar2(30);

테이블이 변경되었습니다.

-- 컬럼 수정 
SQL> alter table ex
  2  modify name varchar2(20);

테이블이 변경되었습니다.

-- 컬럼 삭제
SQL> alter table ex
  2  drop column addr;

테이블이 변경되었습니다.

Drop

-- 테이블 삭제 
SQL> drop table ex;

테이블이 삭제되었습니다.

SQL> select * from tab; 
-- tab : 현재 유저가 소유한 테이블을 보여주는 키워드

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
BIN$CyoUX3PGQfSevWeukEtEIA==$0 TABLE
BONUS                          TABLE
DEPT                           TABLE
EMP                            TABLE
SALGRADE                       TABLE

-- 삭제된 테이블은 쓰레깃값으로 남는다. 

DML ⭐ ( == 트랜잭션)

  • 대상 : 데이터(행)
  • insert, update, delete [select]
  • 데이터 변경 명령, 트랜잭션 명령, 일처리 명령

DCL

  • 권한 관련 명령(보안)
  • grant - 권한 부여
  • revoke - 권한 회수
  • deny
    • not in Oracle, MS 계열에만 존재
    • 권한은 누적된다. 누적되는 권한 중 최우선으로 이행되는 것이 거부
    • 누적된 권한 중에서 특정 권한만 뺏고 싶을 때 사용한다.

TCL

  • DML 명령 제어
  • DML 제외한 명령에는 commit이 포함되어있다.
  • (Oracle) DML 명령은 버퍼에 쌓이고, commit 명령으로 버퍼를 비우고 DBF에 반영
    • 명령마다 commit 이 일어나면 성능을 저하시킬 수 있으므로 autocommit 기본값은 off 이다.
  • (MS SQL) autocommit 의 기본값이 on → 버퍼에 쌓이지 않음. begin tran, end tran 따로 적어주어야 한다.
  • commit - 저장
  • rollback - 되돌리기
  • savepoint - 저장점
profile
개발자 헤이린

0개의 댓글