SQL
- DDL
- DML
- DCL
SQL
Structured Query Language: 구조화된 질의 언어
DDL (Data Definition Language) |
데이터 정의 언어 |
DML (Data Manipulation Language) |
데이터 조작 언어 |
DCL (Data Control Language) |
데이터 제어 언어 |
- DDL
Data Definition Language: 데이터 정의 언어
CREATE | 데이터베이스, 테이블, 뷰(view), 프로시저 등을 생성 |
ALTER | 데이터베이스, 테이블, 뷰(view), 프로시저 등을 수정 |
DROP | 데이터베이스, 테이블, 뷰(view), 프로시저 등을 삭제 |
** - VIew: 다른 테이블/뷰에 있는 데이터를 보여주기 위해 사용 (수정불가) ** - Procedure: 특정 작업에 필요한 Query들을 함수처럼 사용 |
CREATE DATABASE 데이터베이스; -- 데이터베이스 생성 --
CREATE TABLE 테이블( -- 테이블 생성 --
컬럼 DATA_TYPE(SIZE),
...,
CONSTRAINT 제약조건 제약조건 (컬럼)
);
CREATE VIEW 뷰 AS SELECT ~; -- 뷰 생성 --
** auto_increment : 숫자 자동 증가 옵션 (sequence)
------------------------------------------------
ALTER TABLE 테이블 ADD | DROP | MODIFY 컬럼 DATA_TYPE
ADD -- 컬럼 추가
DROP -- 컬럼 삭제
MODIFY -- 컬럼 수정
------------------------------------------------
DROP DATABASE 데이터베이스 -- 데이터베이스 삭제
DROP TABLE 테이블 -- 테이블 삭제
** 테이블 삭제 시, 해당 데이터베이스 안에 있는 모든 데이터(테이블, 뷰, ...)도 삭제됨
DML
Data Manipulation Language: 데이터 조작 언어
SELECT | 데이터 읽기 |
INSERT | 데이터 삽입 |
UPDATE | 데이터 수정 |
DELETE | 데이터 삭제 |
SELECT 컬럼 FROM 테이블; -- 테이블에서 컬럼 조회
SELECT 컬럼 FROM 테이블 WHERE 조건; -- 테이블에서 조건에 맞는 컬럼 조회
**
컬럼의 값 연산 (산술 비교): >, >=, <, <=, =, !=(<>), BETWEEN, IN, NOT IN, ANY, ...
조건의 연결: AND, OR
-- 테이블에서 컬럼의 값으로 정렬 후 컬럼 조회(ASC: 오름차순 / DESC: 내림차순)
SELECT 컬럼 FROM 테이블 ORDER BY 컬럼;
-- 테이블에서 컬럼의 값으로 그룹화 시킨 후 컬럼 조회
SELECT 컬럼 FROM 테이블 GROUP BY 컬럼;
-- 그룹화 후 집계함수에 조건을 줄 땐 WHERE 대신 HAVING 사용
SELECT 컬럼 FROM 테이블 WHERE|HAVING 조건 GROUP BY 컬럼;
------------------------------------------------------
INSERT INTO 테이블 VALUES(모든 컬럼의 값); -- 테이블의 모든 컬럼에 값 삽입
INSERT INTO 테이블(컬럼, ...) VALUES(명시된 컬럼의 값); -- 테이블의 특정 컬럼에 값 삽입
-----------------------------------------
UPDATE 테이블 SET 컬럼 = 값, 컬럼= 값, ...; -- 해당 컬럼의 모든 값 수정
UPDATE 테이블 SET 컬럼 = 값, 컬럼 = 값, ... WHERE 조건; -- 조건에 맞는 컬럼의 값 수정
-----------------------------------------
DELETE FROM 테이블; -- 테이블의 모든 값 삭제
DELETE FROM 테이블 WHERE 조건; -- 조건에 맞는 값 삭제
DCL
Data Control Language: 데이터 제어 언어
COMMIT | 데이터, 트랜잭션 저장 |
ROLL BACK | 데이터, 트랜잭션 저장 취소 (가장 마지막 COMMIT으로 되돌아감) |
GRANT | DB 권한 부여 |
REVOKE | DB 권한 삭제 |
** TCL(Transaction Control Language) : COMMIT, ROLLBACK |
'Database > Database 개념' 카테고리의 다른 글
24. JDBC(Java DataBase Connectivity) (0) | 2022.10.25 |
---|---|
01. Database (0) | 2022.10.13 |