DML(Data Mnipulation Language, 데이터 조작어)
데이터베이스 사용자가 응용 프로그램이나 질의어를 통해 저장된 데이터를 실질적 관리하는데 사용되는 언어
-DML에는 SELECT, INSERT, DELETE, UPDATE 등
삽입문(INSERT INTO~) : 기본 테이블에 새로운 튜플을 삽입할 때 사용
INSERT INTO 테이블명(속성명1, 속성명2, ...) VALUES(데이터1, 데이터2, ...);
삭제문(DELETE FROM~) : 기본 테이블에 있는 튜플들 중에서 특정 튜플을 삭제할 때 사용
DELETE FROM 테이블명 [WHERE 조건];
갱신문(UPDATE ~ SET~) : 기본 테이블에 있는 튜퓰들 중에서 특정 튜플의 내용을 변경할 때 사용
UPDATE 테이블명 SET 속성명 = 데이터[, 속성명 = 데이터] [WHERE 조건];
DML-SELECT
SELECT [PREDICATE][테이블명.]속성명[AS 별칭][, [테이블명.]속성명,...][,그룹함수(속성명)[AS 별칭]]
FROM 테이블명[, 테이블명, ...]
[WHERE 조건]
[GROUP BY 속성명, 속성명, ...]
[HAVING 조건]
[ORDER BY 속성명[ASC | DESC]];
SELECT절
-PREDICATE : 불러올 튜플 수를 제한할 명령어를 기술
- ALL : 모든 튜플을 검색할 때 지정하는 것으로 주로 생략
- DISTINCT : 중복된 튜플이 있으면 그 중 첫 번째 한 개만 검색
-속성명 : 검색해 불러올 속성(열) 및 수식들을 지정
- 기본테이블을 구성하는 모든 소성을 지정할 때는 '*'를 기술
- 두 개 이상의 테이블을 대상으로 검색할 때는 '테이블명.속성명'으로 표현
-AS : 속성 및 연산의 이름을 다른 제목으로 표시하기 위해 사용
그외 절
FROM절 : 질의에 의해 검색될 데이터들을 포함하는 테이블명을 기술
WHERE절 : 검색할 조건 기술
GROUP BY절 : 특정 속성을 기준으로 그룹화해 검색할 때 그룹화 할 속성을 기술
-일반적으로 GROUP BY절은 그룹 함수와 함께 사용됨
-그룹 함수의 종류
COUNT(속성명) | 그룹별 투플 수를 구하는 함수 |
MAX(속성명) | 그룹별 최대값을 구하는 함수 |
MIN(속성명) | 그룹별 최소값을 구하는 함수 |
SUM(속성명) | 그룹별 합계를 구하는 함수 |
AVG(속성명) | 그룹별 평균를 구하는 함수 |
HAVING절 : GROUP BY와 함께 사용되며 그룹에 대한 조건을 지정
ORDER BY절 : 특정 속성을 기준으로 정렬해 검색할때 사용
-속성명 : 정렬의 기준이 되는 속성명을 기술
-[ASC | DESC] : 정렬 방식으로서 'ASC'는 오름차순, 'DESC'는 내림차순. 생략하면 오름차순으로 지정
※ SELECT문의 실행 작동 순서
FROM → WHERE → GROUP BY → HAVING → SELECT → DISTINCT → ORDER BY