SQL종류 정리(이론)
SQL이란 (Structured Query Language) '구조화 된 질의 언어'라는 의미로, 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위한 비절차적(non-procedural language)언어이다.
일반적인 프로그래밍 언어(C,JAVA)와 같이 구체적인 실행 순서나 방법을 기술하는 절차적 언어(procedural language)가 아니라 어떤 데이터를 추출해야 하는지만 기술한다.
'질의어'지만, 질의 기능만 있는 것이 아니라 데이터 구조의 정의, 데이터 조작, 데이터 제어 기능을 모두 갖추고 있다.
SQL은 DDL, DML, DCL로 분류된다.
DDL (Data Definition Language, 데이터 정의어)의 유형
DDL문은 데이터베이스 테이블을 생성하거나 변경, 삭제 하는 것으로 데이터를 저장할 구조를 정의하는 언어이다.
명령어 | 적용 | 기능 |
CREATE | SCHEMA 또는 DATABASE | 스키마 생성 (데이터베이스 생성) |
TABLE | 테이블 생성 | |
INDEX | 인덱스 생성 | |
VIEW | 뷰 생성 | |
ALTER | SCHEMA 또는 DATABA | 스키마 수정(데이터베이스 수정) |
TABLE | 테이블 수정 | |
DROP | SCHEMA 또는 DATABA | 스키마 삭제 (데이터베이스 삭제) |
TABLE | 테이블 삭제 | |
INDEX | 인덱스 삭제 | |
VIEW | 뷰 삭제 |
DML (Data Manipulation Language, 데이터 조작 언어)
DML은 데이터 구조가 DDL로 정의되면 해당 데이터 구조에 데이터를 입력하거나 수정, 삭제, 조회할 수 있다.
INSERT | 테이블 스키마에 적합한 새로운 데이터를 삽입 |
UPDATE | 테이블에서 조건을 만족하는 특정 데이터의 컬럼값을 수정 |
AELETE | 테이블에서 조건을 만족하는 특정 데이터를 삭제 |
SELECT | 테이블에 존재하는 레코드 중 주어진 조건을 만족하는 데이터를 검색 |
DCL (Date control Language, 데이터 제어 언어)
- DDL로 정의된 구조에 어떤 사용자가 접근할 수 있는지 권햔을 부여하거나 회수하는 것이다.
- DBMS의 동작 설정 및 DBMS 접근에 대한 사용자의 권한을 관리하는 SQL명령어의 집합.
- GRANT, REVOKE, BEGIN 등의 명령어로 구성되며, 주로 데이터베이스 관리자(DBA)가 사용한다.
EX)
DDL로 틀 생성(맨 위의 칼럼도 포함) 후 DML로 데이터를 입력, 수정, 삭제, 조회를 한다.
사원번호 | 이름 | 나이 | 급여 | 부서코드 |
100 | 김길동 | 20 | 1,000,000 | 004 |
101 | 홍길동 | 30 | 2,000,000 | 004 |
102 | 고길동 | 25 | 1,500,000 | 002 |