데이터베이스 조작을 위한 표준 언어인 SQL(Structured Query Language)의 핵심 문법을 분류별로 정리한다.
관계형 데이터베이스(RDBMS)를 다루기 위한 가장 기본적인 도구다.
DDL (Data Definition Language): 구조 정의
테이블의 생성, 변경, 삭제를 담당한다.
-- 테이블 생성
CREATE TABLE Students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
score INT DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 구조 변경 (컬럼 추가)
ALTER TABLE Students ADD COLUMN email VARCHAR(100);
-- 테이블 삭제
-- DROP TABLE Students;
DML (Data Manipulation Language): 데이터 조작
실제 데이터를 조회, 삽입, 수정, 삭제하는 데 사용된다.
-- 데이터 삽입
INSERT INTO Students (name, score) VALUES ('Kim', 90), ('Lee', 85);
-- 데이터 조회 (필터링 및 정렬)
SELECT name, score FROM Students
WHERE score >= 80
ORDER BY score DESC;
-- 데이터 수정
UPDATE Students SET score = 95 WHERE name = 'Kim';
-- 데이터 삭제
DELETE FROM Students WHERE score < 50;
DCL (Data Control Language): 권한 관리
데이터베이스 접근 권한을 제어한다.
-- 권한 부여
GRANT SELECT, INSERT ON mydb.* TO 'user1'@'localhost';
-- 권한 회수
REVOKE INSERT ON mydb.* FROM 'user1'@'localhost';
주의사항: WHERE 절의 누락
UPDATE와 DELETE 명령을 수행할 때 WHERE 절을 생략하면 테이블 내의 모든 데이터가 변경되거나 삭제되는 대참사가 발생할 수 있다.
실행 전 반드시 조건을 확인하는 습관이 필요하다.
P.S
SQL은 데이터의 구조와 조작을 명확히 구분하여 관리할 수 있게 해준다.
각 구문의 역할을 숙지하고 데이터의 무결성을 유지하며 효율적으로 쿼리를 작성하는 능력이 중요하는 것 같다.