데이터베이스

[TIL] DML이란?

Twisted 2024. 8. 30. 15:04

DML( Data Manipulation Language) : 데이터 조작어

DML은 데이터 조작어로 데이터베이스에 저장된 자료들을 입력, 수정, 삭제, 조회하는 언어이다.

이러한 DML의 유형으로는 SELECT, INSERT, UPDATE, DELETE가 있다.

 

유형 동작 설명
SELECT 조회 테이블 내 칼럼에 저장된 데이터를 조회
INSERT 삽입 테이블 내 칼럼에 데이터를 추가
UPDATE 갱신 테이블 내 칼럼에 저장된 데이터를 수정
DELETE 삭제 테이블 내 칼럼에 저장된 데이터를 삭제

 

 

SELECT(데이터 조회) 명령어

더보기
  • SELECT 명령어는 데이터의 내용을 조회할 때 사용하는 명령어이다.
  • SELECT 명령어는 SELECT절, FROM절, WHERE절, GROUP BY절, HAVING절, ORDER BY절로 구성된다.

 

[기본형식]         []-> 선택적

SELECT [ALL | DISTINCT] 속성명1, 속성명2, ...

FROM 테이블명1, ....

[WHERE 조건]

[GROUP BY 속성명1,...]

[HAVING 그룹조건]

[ORDER BY 속성 [ASC | DESC] ];

 

 

구분 설명
SELECT절 -검색하고자 하는 속성명, 계산식을 기술.
-속성명 별칭은 AS를 사용하며 생략 가능하다.
-2개 이상의 테이블을 대상으로 검색할 때는 '테이블명.속성명'으로 표현한다.
-술어 부분은 ALL이 기본값이고 DISTINCT를 이용하여 중복값을 제거할 수 있다.
FROM절 질의에 의해 검색될 데이터들을 포함하는 테이블명을 기술한다.
WHERE절 검색할 조건을 기술한다.
GROUP BY절 속성값을 그룹으로 분류하고자 할 때 사용한다
HAVING절 GROUP BY에 의해 분류된 후 그룹에 대한 조건을 지정한다.
ORDER BY 절 속성값을 정렬하고자 할 때 (ASC-오름차순, DESC-내림차순)사용한다.
기본값으로는 ASC-오름차순을 이용한다.

 

SELECT 부가사항

더보기

조인(Join)

  • 조인은 두 개 이상의 테이블을 연결하여 데이터를 검색하는 방법이다.
  • 두 릴레이션으로부터 관련된 튜플들을 결합하여 하나의 튜플로 만드는 가장 대표적인 데이터 연결 방법이다.

 

유형 설명
내부조인
(Inner Join)
공통 존재 컬럼의 값이 같은 경우를 추출하는 기법
외부조인
(Outer Join)
- Left Outer Join : 왼쪽 테이블의 모든 데이터와 오른쪽 테이블의 동일 데이터를 추출
- Right Outer Join : 오른쪽 테이블의 모든 데이터와 왼쪽 테이블의 동일 데이터를 추출
- Full Outer Join : 양쪽의 모든 데이터를 추출하는 기법
교차 조인
(Cross Join)
조인 조건이 없는 모든 데이터 조합을 추출하는 기법
셀프 조인
(Self Join)
자기 자신에게 별칭을 지정한 후 다시 조인하는 기법

 

 

서브쿼리(Sub - Query)

  • 서브 쿼리는 SQL문 안에 포함된 또 다른 SQL문이다.
  • 서브쿼리의 용도는 알려지지 않은 기준을 위한 검색을 위해 사용한다.
  • 메인쿼리와 서브쿼리는 주종 관계로, 서브쿼리에 사용되는 컬럼 정보는 메인쿼리의 컬럼 정보를 사용할 수 있으나, 역으로는 성립하지 않는다.
서브쿼리 종류 설명
FROM절 서브쿼리 서브쿼리가 FROM절 안에 들어있는 형태
인라인 뷰(Inline Views)라고 불린다.
뷰(View)처럼 결과가 동적으로 생성된 테이블 형태로 사용할 수 있다.
WHERE절 서브쿼리 서브쿼리가 WHERE절 안에 들어있는 형태
중첩 서브쿼리(Nested Sub-Query)라고도 불린다.

 

집합 연산자 (Set Operator)

  • 집합 연산자는 테이블을 집합 개념으로 보고, 두 테이블 연산에 집합 연산자를 사용하는 방식이다.
  • 집합 연산자는 여러 질의 결과를 연결하여 하나로 결합하는 방식을 사용한다.

집합 연산자의 종류로는 UNION, UNION ALL, INTERSECT, MINUS가 있다.

 

INSERT(데이터 삽입) 명령어

INSERT는 데이터의 내용을 삽입할 때 사용하는 명령어 이다.

INSERT INTO 테이블명(속성명1, ...)
VALUES (데이터1,....);
- 속성과 데이터개수, 데이터 타입이 일치해야 한다.
- 속성명은 생략이 가능하다.
- 속성의 타입이 숫자인 경우 데이터는 따옴표를 붙이지 않아도 되며, 문자열인 경우에는 따옴표를 붙여야 한다.

 

 

UPDATE(데이터 변경) 명령어

UPDATE는 데이터의 내용을 변경할 때 사용하는 명령어이다.

UPDATE 테이블명
SET 속성명 = 데이터, ...
WHERE 조건;
UPDATE명령문은 WHERE절을 통해 어떤 조건이 만족할 경우에만 특정 컬럼의 값을 수정하는 용도로 자주 사용된다.

 

 

DELETE(데이터 삭제) 명령어

DELETE는 데이터의 내용을 삭제할 때 사용하는 명령어이다.

DELETE FROM 테이블명
WHERE 조건;
- 모든 레코드를 삭제할 때는 WHERE절 없이 DELETE만 사용
- 레코드를 삭제해도 테이블 구조는 남아 있어서 디스크에서 테이블을 완전히 삭제하는 DROP과는 다른 명령이다.