[SQL] SQL(Structured Query Language)
SQL(Structured Query Language)
구조화된 질의 언어
- (데이터베이스의 모든 작업을 통제하는 비절차적(Non-procedural) 언어)
비절차적(Non-procedural) 언어
- 데이터베이스 사용자(이하 사용자)가 SQL을 사용해 원하는 작업의 결과만 기술
(작업이 어떻게 수행될 것인지는 전혀 고려하지 않아도 된다는 것 의미)
- 사용자가 작성한 SQL 문장을 데이터베이스 안에서 어떻게 수행할 것인가는 각 시스템에 의해서 결정
데이터베이스 시스템
- 데이터를 어떻게 저장할 것인지, 메모리를 어떻게 이용할 것인지, 데이터를 어떠한 순서로 읽을 것인지 등에 대한 정책과 최적화 과정을 수립
- SQL은 일반적인 데이터베이스 작업을 기술하기 위한 SQL 문장(Statement)을 정의
SQL을 이용하여 기술할 수 있는 데이터베이스 작업
- 스키마 객체(Schema Object)의 생성, 변경, 제거
- 데이터베이스 질의
- 데이터의 삽입, 갱신, 삭제
- 트랜잭션 관리 및 세션 관리 등을 포함하는 데이터베이스 관리
SQL 문장의 종류
- 데이터 정의어(Data Definition Language)
- 데이터 조작어(Data Manipulation Language)
- 데이터 제어어(Data Control Language)
데이터 정의어
- 데이터 정의어(이하 DDL)는 데이터 간에 관계를 정의하여 데이터베이스 구조를 설정하는 SQL 문장
(기본적으로 스키마 객체를 생성, 변경, 제거하기 위해 사용)
Tibero에서 제공하는 DDL
데이터베이스 | CREATE DATABASE | 데이터베이스를 생성한다. |
ALTER DATABASE | 데이터베이스를 변경한다. | |
테이블 | CREATE TABLE | 테이블을 생성한다. |
ALTER TABLE | 테이블을 변경한다. | |
DROP TABLE | 테이블을 제거한다. | |
테이블 스페이스 | CREATE TABLESPACE | 테이블 스페이스를 생성한다. |
ALTER TABLESPACE | 테이블 스페이스를 변경한다. | |
DROP TABLESPACE | 테이블 스페이스를 제거한다. | |
인덱스 | CREATE INDEX | 인덱스를 생성한다. |
ALTER INDEX | 인덱스를 변경한다. | |
DROP INDEX | 인덱스를 제거한다. | |
뷰 | CREATE VIEW | 뷰를 생성한다. |
ALTER VIEW | 뷰를 변경한다. | |
DROP VIEW | 뷰를 제거한다. | |
동의어 | CREATE SYNOMYM | 동의어를 생성한다. |
DROP SYNOMYM | 동의어를 제거한다. | |
사용자 | CREATE USER | 사용자를 생성한다. |
ALTER USER | 사용자를 변경한다. | |
DROP USER | 사용자를 제거한다. | |
함수 | CREATE FUNCTION | 함수를 생성한다. |
ALTER FUNCTION | 함수를 변경한다. | |
DROP FUNCTION | 함수를 제거한다. | |
프러시저 | CREATE PROCEDURE | 프러시저를 생성한다. |
ALTER PROCEDURE | 프러시저를 변경한다. | |
DROP PROCEDURE | 프러시저를 제거한다. | |
특권 | GRANT | 사용자에게 특권을 부여한다. |
REVOKE | 사용자에게 특권을 회수한다. | |
역할 | CREATE ROLE | 역할을 생성한다. |
ALTER ROLE | 역할을 변경한다. | |
DROP ROLE | 역할을 제거한다. | |
객체 | RENAME | 테이블, 뷰, 동의어, 시퀀스 등의 스키마 객체의 이름을 변경한다. |
감시 | AUDIT | 특권의 사용을 감시한다. |
NOAUDIT | 특권의 감시를 해제한다. |
데이터 조작어
- 데이터베이스에 저장된 데이터에 대한 질의, 삽입, 갱신, 삭제를 수행하기 위한 SQL 문장
Tibero에서 제공하는 DML의 명령어
SELECT | 데이터를 조회한다. |
INSERT | 데이터를 삽입한다. |
UPDATE | 데이터를 변경한다. |
DELETE | 데이터를 삭제한다. |
트랜잭션 및 세션 관리 언어
트랜잭션 관리 언어 : 트랜잭션을 관리하는 SQL 문장
(트랜잭션의 특성을 설정, 트랜잭션을 완료하고 저장 등의 작업 수행)
세션 관리 언어 : 세션의 특성을 설정하기 위한 SQL 문장
Tibero에서 제공하는 트랜잭션 관리 및 세션 관리 명령어
COMMIT | 트랜잭션을 완료하고 저장한다. |
ROLLBACK | 트랜잭션을 원래 상태로 복구한다. |
SAVEPOINT | 저장점을 설정한다. |
SET TRANSACTION | 트랜잭션의 특성을 설정한다. |
ALTER SESSION | 세션을 변경한다. |
SET ROLE | 사용자에게 할당된 역할을 활성화하거나 비활성화한다. |