✅ 데이터 조작 언어의 개념
데이터 정의 언어로 정의된 데이터베이스 내의 데이터에 대해 여러 연산을 수행하기 위한 명령어의 집합
- 사용자에게 데이터베이스에 저장된 데이터를 처리할 수 있게 하는 일체의 도구 제공
- 정의된 테이블 등에 레코드를 삽입 , 수정 , 삭제 및 검색하는데 사용되는 SQL 명령어들의 집합
데이터 조작 언어는 실행 즉시 반영되는 영구적 변경을 위한 명령어의 집합이 아니며 복구가 가능
✅ 명령어의 종류
CRUD를 위한 SQL 명령어의 종류
- INSERT : 테이블 스키마에 적합한 레코드를 삽입
- UPDATE: 테이블에서 조건을 만족하는 특정 레코드의 컬럼값을 수정
- DELETE: 테이블에 조건을 만족하는 특정 레코드를 삭제
- SELECT : 조건을 만족하는 레코드를 테이블에서 검
✅ INSER -1
테이블에 새로운 레코드를 삽입
- 모든 컬럼 또는 부분 컬럼에 대한 컬럼값을 입력
- NotNull 제약조건이 있는 컬럼은 반드시 컬럼값 입력
- 문자와 날짜 값은 따옴표 처리
INSERT INTO 테이블이름 VALUES(값1.. 값2,,, 값n)
✅ INSER -2
테이블에서 검색의 결과를 새로운 레코드로 삽입 시 사용 가능
INSERT INTO 테이블이름, (컬럼),컬럼2_ . 컬럼,,)
SELECT 컬럼, 철럼 컬럼n FROM 테이블이름2
WHERE 검색조건
✅ UPDATE 명령어
조건을 만족하는 레코드의 특정 컬럼값을 수정
UPDATE 테이블이름
SET 컬럼1=값1 L, 컬럼2=값, , 컬럼,=값]
[WHERE 조건]
✅ DELETE 문의 사용
조건에 일치하는 레코드 집합을 테이블에서 삭제할 때 사용하는 명령어
DELETE FROM 테이블 이름
[WHERE 조건]
📌 WHERE 절 확인
WHERE절이 없는 경우 UPDATE및 DELETE문은 전체 테이블 대상으로 실행
✅ SELECT
- 한 개의 이상의 테이블에서 주어진 조건에 만족하는 레코드를 출력하는 명령문
- 관계 대수의 셀렉션, 프로젝션, 조인, 카티션 프로덕트 연산자의 기능을 모두 포함하는 명령문
- 필수적인 SELECT 절과 부가적인 목적으로 사용하는 절을 혼합하여 검색 기능 구체화
📌 구문형식
SELECT [DISTINCT] 컬럼1, 컬럼2, ..., 컬럼N
FROM 테이블1
[INNER JOIN | OUTER JOIN] 테이블2
ON 조인조건1
[INNER JOIN | OUTER JOIN] 테이블3
ON 조인조건2
... -- 필요한 만큼 JOIN 추가
WHERE 조건식
[AND | OR 추가 조건식 ...]
[AND 컬럼 IN (서브쿼리)]
GROUP BY 컬럼1, 컬럼2, ...
[HAVING 조건]
ORDER BY 컬럼1 [ASC | DESC], 컬럼2 [ASC | DESC], ...
;
- SELECT 절: 결과에 포함되는 컬럼을 지정
- FROM 절: 질의를 적용할 테이블을 지정
- ON 절: 조인 조건을 지정
- WHERE 절: 검색 대상 레코드의 조건을 지정
- GROUP BY 절: 레코드를 그룹화하기 위한 그룹 조건을 지정
- HAVING 절: GROUP BY 절이 적용된 결과에 대한 조건을 지정
- ORDER BY 절: 검색 결과의 정렬 기준을 지정
✅ 단순 SELECT문
레코드를 제한하지 않고 전체 테이블 검색 (where 절이 없고 DISTINCT키워드를 통해 중복 제거)
SELECT[DISTINCT] 컬럼1..컬럼2..
FROM 테이블
SELECT * FROM 테이블
✅ 조건 SELECT문
산술연산식, 함수 등을 사용하여 표현한 조건을 WHERE 절에 기술하여 조건을 만족하는 레코드만 선택적으로 검색하는 SELECT문
- 산술연산자
- 비교연산자
- 논리연산자
WHERE 절은 UPDATE, DELETE 문 등 조건을 기술하여 선택적으로 레코드에 적용하는 명령문에서 동일하게 사용
✅ 조건 표현 연산자
산술연산자
- 컬럼값 또는 상수와의 산술 연산을 위한 연산자
- DIV. I. -, MOD(%), +, *
비교연산자
- 컬럼값과 상수의 크기를 비교하는 연산자
- +=, 0(!=),>,>=, 〈스=
논리연산자
- 두 개 이상의 조건이 기술되는 질의문에서 조건식 간의 관계를 정의하는 연산자
- AND, OR, NOT
🔎 정리
- 데이터 조작 언어(DML)에는 INSERT, UPDATE, DELETE, SELECT 명령어가 포함
- INSERT는 테이블에 새로운 데이터를 삽입하며, 컬럼 일부 또는 전체에 대해 수행
- UPDATE는 WHERE 조건을 만족하는 레코드의 특정 컬럼 값을 수정
- DELETE는 조건을 만족하는 레코드를 삭제하며, 제약조건 위반 시 수행이 거부
- SELECT는 테이블에서 데이터를 검색하는 명령으로, WHERE 절을 통해 조건 검색도 가능
'CS > Database' 카테고리의 다른 글
| 04. SQL - 1 (0) | 2025.04.30 |
|---|---|
| 03. 관계형 모델 (0) | 2025.04.29 |
| 02. 데이터베이스 모델링 (0) | 2025.04.29 |
| 01. 데이터베이스 이해 (0) | 2025.04.29 |