본문 바로가기
工夫/DB

SQL(Structured Query Language)

by 치세 2014. 6. 29.

-- 데이터 조작어(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

댓글