SQL(Structured Query Language)은 데이터베이스에서 데이터를 관리하고 조작하는 데 사용되는 표준 언어입니다. 주로 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 정의하고 조회하며, 삽입, 업데이트, 삭제 작업을 수행하는 데 사용됩니다. SQL은 데이터베이스의 구조(테이블, 열, 행)를 정의하는 것뿐만 아니라 데이터를 효과적으로 처리하고 관리하는 기능도 제공합니다.
1. 데이터 정의(DDL - Data Definition Language)
데이터베이스와 그 구조(테이블, 인덱스, 스키마 등)를 정의하거나 수정하는 데 사용되는 명령어입니다.
CREATE TABLE Users (
id INT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(100)
);
ALTER TABLE Users ADD COLUMN age INT;
DROP TABLE Users;
2. 데이터 조작(DML - Data Manipulation Language)
테이블 내 데이터를 조회하거나 삽입, 수정, 삭제하는 데 사용되는 명령어입니다.
SELECT name, email FROM Users WHERE age > 18;
INSERT INTO Users (id, name, email, age) VALUES (1, 'Alice', 'alice@example.com', 25);
UPDATE Users SET age = 26 WHERE id = 1;
DELETE FROM Users WHERE id = 1;
3. 데이터 제어(DCL - Data Control Language)
데이터베이스에 대한 접근 권한을 제어하는 명령어입니다.
GRANT SELECT, INSERT ON Users TO 'john';
REVOKE INSERT ON Users FROM 'john';
4. 트랜잭션 제어(TCL - Transaction Control Language)
여러 SQL 명령어를 하나의 트랜잭션으로 묶어 처리하는 데 사용됩니다. 트랜잭션은 데이터베이스에서 일관성을 유지하는 데 중요한 역할을 합니다.
COMMIT;
ROLLBACK;
SAVEPOINT save1;
관계형 데이터 모델: SQL은 관계형 데이터베이스를 기반으로 하고 있으며, 테이블 간의 관계를 설정하여 데이터를 구조화합니다. 관계형 모델을 통해 데이터를 정규화하여 중복을 최소화하고 데이터 일관성을 유지할 수 있습니다.
데이터의 집계 및 분석: SQL은 집계 함수(Aggregate Functions)를 제공하여 데이터를 분석하고 요약할 수 있습니다. 이를 통해 복잡한 데이터를 간단하게 처리할 수 있습니다.