SQL – DDL (데이터 정의어)
DDL (Data Define Language, 데이터 정의어)
- CREATE – SCHEMA, DOMAIN, TABLE, VIEW, INDEX 를 정의
- ALTER – TABLE에 대한 정의를 변경하는 데 사용
- DROP – SCHEMA, DOMAIN, TABLE, VIEW, INDEX 를 삭제
- TRUNCATE – 초기화
CREATE SCHEMA 스키마명 AUTHORIZATION 사용자_ID;
SCHEMA – 데이터베이스 구조와 제약 조건에 관한 전반적인 명세(Specification)를 기술(Description)한 것
CREATE DOMAIN 도메인명 [AS] 데이터_타입 [DEFAULT 기본값] [CONSTRAINT 제약조건명 CHECK (범위값)];
DOMAIN – 하나의 속성이 취할 수 있는 동일한 유형의 원자값들의 집합
CREATE TABLE 테이블명
( 속성명 데이터_타입 [DEFAULT 기본값] [NOT NULL], …
[, PRIMARY KEY (기본키_속성명, …)]
[, UNIQUE (대체키_속성명, …)]
[, FOREIGN KEY (외래키_속성명, …)]
[REFERENCES 참조테이블 (기본키_속성명, …)]
[ON DELETE 옵션]
[ON UPDATE 옵션]
[, CONSTRAINT 제약조건명] [CHECK (조건식)]);
CREATE VIEW 뷰명[(속성명[, 속성명, …])] AS SELECT문;
CREATE [UNIQUE] INDEX 인덱스명 ON 테이블명 (속성명 [ASC|DESC][, 속성명 [ASC|DESC]]) [CLUSTER];
DROP SCHEMA 스키마명 [CASCADE | RESTRICT];
DROP DOMAIN 도메명 [CASCADE | RESTRICT];
DROP TABLE 테이블명 [CASCADE | RESTRICT];
DROP VIEW 뷰명 [CASCADE | RESTRICT];
DROP INDEX 인덱스명 [CASCADE | RESTRICT];
DROP CONSTRAINT 제약조건명;
CASCADE – 제거할 요소를 참조한느 다른 모든 개체를 함께 제거
RESTRICT – 다른 개체가 제거할 요소를 참조 중일 때는 제거를 취소
SQL – DCL (데이터 제어어)
DCL (Data Control Language, 데이터 제어어)
- COMMIT – 명령에 의해 수행된 결과를 실제 물리적 디스크로 저장하고, 데이터베이스 조작 작업이 정상적으로 완료되었음을 관리자에게 알려줌
- ROLLBACK – 데이터베이스 조작 작업이 비정상적으로 종료되었을 때, 원래의 상태로 복구
- SAVEPOINT – 트랜잭션 내에 ROLLBACK 할 위치인 저장점을 지정하는 명령어
- GRANT – 데이터베이스 사용자에게 사용 권한을 부여
- REVOKE – 데이터베이스 사용자의 사용 권한을 취소
GRANT 사용자등급 TO 사용자_ID_리스트 [IDENTIFIED BY 암호];
REVOKE 사용자등급 FROM 사용자_ID_리스트;
GRANT 권한_리스트 ON 개체 TO 사용자 [WITH GRANT OPTION];
REVOKE [GRANT OPTION FOR] 권한_리스트 ON 개체 FROM 사용자 [CASCADE];
권한 종류 – ALL, SELECT, INSERT, DELETE, UPDATE, ALTER
WITH GRANT OPTION – 부여받은 권한을 다른 사용자에게 다시 부여할 수 있는 권한을 부여
GRANT OPTION FOR – 다른 사용자에게 권한을 부여할 수 있는 권한을 취소
SQL – DML (데이터 조작어)
DML (Data Manipulation Language, 데이터 조작어)
- SELECT – 테이블에서 튜플 검색
- INSERT – 튜플 삽입
- DELETE – 튜플 삭제
- UPDATE – 튜플 갱신
INSERT INTO 테이블명([속성명1, 속성명2, …]) VALUES (데이터1, 데이터2, …);
DELETE FROM 테이블명 [WHERE 조건];
UPDATE 테이블명 SET 속성명=데이터[, 속성명=데이터, …][WHERE 조건];
SELECT [PREDICATE] [테이블명.]속성명 [AS 별칭],[, [테이블명.]속성명, …]
[, 그룹함수(속성명) [AS 별칭]]
[, WINDOW함수 OVER (PARITION BY 속성명1, 속성명2, … ORDER BY 속성명3, 속성명4, …)]
FROM 테이블명[, 테이블명, …]
[WHERE 조건]
[GROUP BY 속성명, 속성명, …]
[HAVING 조건]
[ORDER BY 속성명 [ASC | DESC]];
PREDICATE – 검색할 튜플 수를 제한하는 명령어를 기술
- DISTINCT – 중복제거
PARTITION BY – WINDOW 함수의 적용 범위가 될 속성을 지정
WINDOW 함수
- ROW_NUMBER() – 윈도우별로 각 레코드에 대한 일련번호를 반환
- RANK() – 윈도우별로 순위를 반환하며, 공동 순위를 반영
- DENSE_RANK() – 윈도우별로 순위를 반환하며, 공동 순위를 무시하고 순위를 부여
프로시저 ( Procedure )
프로시저(Procedure)
- SQL을 사용하여 작성한 일련의 작업을 저장해두고 호출을 통해 원할 때마다 저장한 작업을 수행하도록 하는 절차형 SQL
- 시스템의 일일 마감 작업, 일괄(Batch) 작업 등에 주로 사용
Leave a Reply