728x90
반응형

SQLD

관리구문

DML(Data Manipulation Language)

  • INSERT, UPDATE, DELETE, MERGE
  • Commit or Rollback 필수

INSERT(삽입)

  • 테이블에 행을 삽입할 때
  • 작성하지 않으면 NULL 입력
INSERT INTO TABLE1 VALUE(V1, V2, ...);
INSERT INTO TABLE1(COL1, COL2, ...) VALUE(V1, V2, ...);

UPDATE(수정)

  • 데이터를 수정, 컬럼 단위 수행
UPDATE TABLE1
   SET COL1 = 11220
 WHERE 조건;

-------<다중>-------
UPDATE TABLE1
   SET COL1 = 11220, COL2 = 5500
 WHERE 조건;

DELETE(삭제)

  • 데이터를 삭제할 때, 행 단위 수행
DELETE TABLE1
 WHERE 조건;

MERGE(병합)

  • 데이터 병합 // INSERT, UPDATE, DELETE 동시 수행
MERGE INTO TABLE1
USING 참조_TABLE
   ON (연결 조건)
 WHEN MATCHED THEN
      UODATE
         SET 수정 내용
 WHEN NOT MATCHED THEN
      INSERT VALUE(삽입 내용)

 

TCL(Transaction Control Language)

  • COMMIT, ROLLBACK
  • DML에 의한 결과를 트랜잭션 별로 제어

COMMIT

  • 데이터 조작 후 이상이 없을 경우 데이터 저장
  • COMMIT을 실행하면 이전에 수행된 DML은 모두 저장되며 되돌리기 불가능

ROLLBACK

  • 변경사항을 취소
  • 최종 COMMIT 지점 혹은 SAVEPOINT 지점으로 돌아감

트랜잭션 특성

  • 원자성(Atomicity) : 트랜잭션 연산은 모두 성공적으로 실행되던지, 전혀 실행되지 않은 상태로 남아 있어야 함
  • 일관성(Consistency) : 트랜잭션 실행 전 오류가 없다면 실행 후에도 없어야 함
  • 고립성(Isolation) : 트랜잭션 실행 중 다른 트랜잭션의 영향을 받아 오류를 만들어서는 안됨
  • 지속성(Durability) : 트랜잭션이 성공적으로 완료되면 갱신한 데이터베이스 내용이 영구적으로 저장

 

DDL(Data Definition Language)

  • CREATE, ALTER, DROP, TRUNCATE

CREATE

  • 객체를 생성함(테이블이나 인덱스...)
  • 테이블 생성 시 소유자 명시 가능
CREATE TABLE [소유자]테이블명
(COL1 데이터타입 [DEFAULT 기본값] [제약조건]);
  • 데이터 타입(CHAR(n), VARCAHR2(n), NUMBER(p,s), DATE)

ALTER

  • 테이블 구조 변경, 컬럼순서는 변경 불가
-------<컬럼 추가>-------
ALTER TABLE 테이블명 ADD 컬럼명 데이터타입 [DEFAULT] [제약조건];
 
-------<컬럼 속성 변경>-------
ALTER TABLE 테이블명 MODIFY(컬럼명 DEFAULT 값)

-------<컬럼 삭제>-------
ALTER TABLE 테이블명 DROP COLUMN COL1;

DROP

  • 객체 삭제
  • PURGE 삭제 시 완전 삭제(휴지통에 없음)
DROP TABLE 테이블명 [PURGE];

TRUNCATE

  • 구조만 남기고 데이터 삭제(AUTO COMMIT), 휴지통에 남지 않음
TRUNCATE TABLE 테이블명;

 

DCL(Data Control Language)

  • GRANT, REVOKE
  • ROLE을 통해 권한을 묶을 수 있음

GRANT

  • 테이블에 대한 권한 부여
  • 동시에 여러 유저에게 권한 부여 가능, 여러 권한 부여 가능, 여러 객체는 불가
GRANT 권한 ON 테이블명 TO 유저;

REVOKE

  • 권한 회수, 동시에 여러 권한 회수 가능, 여러 유저로 부터 가능
REVOKE 권한 ON 테이블명 FROM 유저;

 

 

참고

홍쌤의 데이터랩

728x90
반응형

'SQL > 제 2과목' 카테고리의 다른 글

2장_SQL 활용  (0) 2024.05.15
1장_SQL 기본  (0) 2024.05.15