SQL 개념 및 실무 적용
Source: Dev.to
DDL vs DML
DDL (Data Definition Language) – 테이블과 같은 데이터베이스 객체를 정의하고 구조화하는 데 사용됩니다.
DML (Data Manipulation Language) – 해당 테이블 안의 데이터를 관리하고 조작하는 데 사용됩니다.
| 구분 | DDL (데이터 정의 언어) | DML (데이터 조작 언어) |
|---|---|---|
| 목적 | 데이터베이스 구조 정의 | 테이블의 데이터 조작 |
| 명령어 | CREATE, ALTER, DROP | INSERT, UPDATE, DELETE |
| 효과 | 스키마 변경 | 레코드/데이터 변경 |
| 예시 | CREATE TABLE students (...); | INSERT INTO students VALUES (...); |
CREATE, INSERT, UPDATE, DELETE 사용
CREATE–students,exam_results,subjects와 같은 테이블을 정의합니다.INSERT– 테이블에 레코드를 추가합니다.
INSERT INTO students (id, name, city) VALUES (1, 'John Doe', 'Nairobi');UPDATE– 기존 데이터를 수정합니다. 예를 들어 학생의 도시를 변경하거나 점수를 정정합니다.
UPDATE students
SET city = 'Mombasa'
WHERE id = 1;DELETE– 잘못되었거나 취소된 레코드를 삭제합니다. 예시: 시험 결과 테이블에서result_id = 9삭제.
DELETE FROM exam_results
WHERE result_id = 9;WHERE 절을 이용한 데이터 필터링
WHERE 절은 특정 조건에 따라 레코드를 필터링합니다. 흔히 사용하는 연산자는 다음과 같습니다:
=(같음)>(보다 큼)
CASE
WHEN marks >= 75 THEN 'Distinction'
WHEN marks >= 60 THEN 'Merit'
WHEN marks >= 40 THEN 'Pass'
ELSE 'Fail'
END AS grade
FROM exam_results;회고
이번이 SQL을 사용한 첫 주였습니다. SQL이 데이터를 효율적으로 관리하고 분석하는 방식을 배웠습니다. 가장 흥미로웠던 부분은 처음부터 테이블을 만들고 데이터를 채워 넣는 것이었으며, SELECT * 로 결과를 확인했을 때의 감동은 이루 말할 수 없었습니다. 가장 큰 도전은 다중 행 INSERT 문과 필터링 조건에서 정확한 구문을 맞추는 것이었으며, 작은 실수(예: 쉼표 누락) 때문에 오류가 발생하곤 했습니다.
전체적으로 이번 경험을 통해 실제 상황에서 데이터베이스 구조와 데이터 조작에 대한 이해도가 크게 향상되었습니다. 아직 시작 단계에 불과하지만 이미 SQL을 사랑하게 되었습니다.