-- 데이터 조작어(DML - Data Manipulation Language)
1. 조회 : SELECT
SELECT 컬럼1, 컬럼2, ... FROM 테이블명1, 테이블명2, ... WHERE 조건들;
2. 삭제 : DELETE
DELETE FROM 테이블 WHERE 조건들;
3. 입력 : INSERT
INSERT INTO 테이블명1 (컬럼1, 커럼2, ...) VALUES (컬럼1값, 컬럼2값, ...);
4. 수정 : UPDATE
UPDATE 테이블명 SET 변경컬럼1=변경값, 변경컬럼2=변경값 WHERE 조건들;
-- 데이터 정의어(DDL - Data Definition Language)
1. 생성 : CREATE
CREATE 객체종류 객체명;
CREATE DATABASE DATABASE명;
CREATE TABLE TABLE명;
CREATE [UNIQUE] INDEX [스키마명.]인덱스명 ON [스카마명.]테이블명(컬럼1[,컬럼2,컬럼3, ...]);
2. 삭제 : DROP
DROP 객체종류 객체명;
3. 변경 : ALTER - 기존의 객체를 변경 (추가, 수정, 제거)
4. 삭제 : TRUNCATE - DELETE 와 비슷하나 ROLLBACK을 할 수 없다. 자동 COMMIT 됨.
테이블에 있는 인덱스나 트리거에 영향을 주지않고 데이터만 삭제
DROP 은 테이블 구조 및 데이터 삭제.
DELETE 는 메모리에 존제하는 테이블의 데이터 삭제 (ROLLBACK 가능).
TRUNCATE 는 메모리 및 데이터 파일에 있는 테이블 테이터 삭제.
-- 데이터 제어어 (DCL - Data Control Language)
1. 권한 부여 : GRANT
GRANT 권한 TO 유저명;
GRANT SELECT ON 소유자명.테이블명 TO 권한사용유저.테이블명;
2. 권한 해제 : REVOKE
REVOKE 권한 ON 소유자명.테이블명 FROM 권한제거사용유저
REVOKE 권한 ON 소유자명.테이블명 FROM 권한제거사용유저 CASCADE CONSTRAINTS;
덧) CASCADE CONSTRAINTS - FOREIGN KEY 관계의 TABLE을 REVOKE 옵션
권한들
GRANT DATABASE LINK
GRANT MATERIALIZED VIEW
GRANT PROCEDURE
GRANT PUBLIC SYNONYM
GRANT ROLE
GRANT SEQUENCE
GRANT SESSION -- DATABASES 접근권한
GRANT SYNONYM
GRANT TABLE -- 테이블 생성권한
GRANT TRIGGER --트리거 생성권한
GRANT TYPE
GRANT VIEW -- VIEW 생생성권한
DROP ANY TABLE --테이블 제거 권한
3. 반영 : COMMIT - "[]"은 생략가능
COMMIT [WORK] [TO SAVEPOINT SAVEPOINT_NAME];
4. 취소 : ROLLBACK - ROLLBACK 또는 COMMIT 을 실행한 시점으로 돌리는 것
ROLLBACK [WORK] [TO SAVEPOINT SAVEPOINT_NAME];
덧) COMMIT, ROLLBACK 을 트랜잭션 제어어 (TCL: Transaction Control Language)라고 분류하기도 한다.
'工夫 > DB' 카테고리의 다른 글
Mysql Data Type (0) | 2021.09.12 |
---|
댓글