반응형
SQL(Structured Query Language)은 데이터베이스 관리 시스템(DBMS)에서 데이터를 생성, 조회, 수정, 삭제하기 위해 사용되는 표준 언어입니다. 주로 관계형 데이터베이스(Relational Database)에서 데이터를 관리하고 조작할 때 사용합니다.
1. SQL의 구성 요소 (명령어 분류)
SQL은 기능에 따라 여러 종류로 나뉩니다.
분류 설명 예시
분류 | 설명 | 예시 |
DDL (Data Definition Language) | 데이터베이스 구조(스키마, 테이블 등)를 정의 | CREATE, ALTER, DROP, TRUNCATE |
DML (Data Manipulation Language) | 데이터 조회 및 조작 | SELECT, INSERT, UPDATE, DELETE |
DCL (Data Control Language) | 권한 및 보안 관리 | GRANT, REVOKE |
TCL (Transaction Control Language) | 트랜잭션 제어 | COMMIT, ROLLBACK, SAVEPOINT |
2. 기본 개념 및 용어
- 데이터베이스 (Database): 데이터를 저장하는 공간. 여러 테이블을 포함.
- 테이블 (Table): 데이터가 행(row)과 열(column)로 구성된 구조.
- 행(Row)/레코드(Record): 테이블 내의 한 데이터 단위 (데이터 한 줄).
- 열(Column)/필드(Field): 데이터 속성이나 항목.
- 스키마 (Schema): 데이터베이스 내 객체들의 논리적 구조 (테이블, 뷰, 인덱스 등 포함).
- 뷰(View): SELECT 쿼리 결과를 저장한 가상 테이블.
3. SQL의 핵심 개념
🗂️ 관계형 데이터베이스(RDB)
- 데이터를 테이블(관계) 형태로 저장하며, 각 테이블은 기본 키(primary key)로 식별됩니다.
- 테이블 간의 관계는 **외래 키(Foreign Key)**로 연결합니다.
📑 트랜잭션(Transaction)
- 데이터베이스에서 하나의 작업 단위를 의미하며, ACID 속성을 가집니다.
- A(Atomicity): 원자성 – 모두 성공하거나 모두 실패.
- C(Consistency): 일관성 – 트랜잭션 전후에 데이터 일관성 유지.
- I(Isolation): 독립성 – 동시에 실행 시 서로 영향 없음.
- D(Durability): 지속성 – 성공 시 영구 반영.
🔑 키(Key)
- 기본 키 (Primary Key): 테이블 내 각 행을 고유하게 식별.
- 외래 키 (Foreign Key): 다른 테이블의 기본 키를 참조하여 관계 설정.
- 고유 키 (Unique Key): 중복 불가하지만 NULL 허용.
- 복합 키 (Composite Key): 여러 열을 결합해 유일성 확보.
4. 자주 쓰는 SQL 명령어 예시
📄 데이터 조회 (SELECT)
SELECT name, age FROM employees WHERE age > 30 ORDER BY age DESC;
- WHERE: 조건 지정
- ORDER BY: 정렬
- LIMIT: 결과 제한
➕ 데이터 추가 (INSERT)
INSERT INTO employees (id, name, age) VALUES (1, 'John', 28);
✏️ 데이터 수정 (UPDATE)
UPDATE employees SET age = 29 WHERE id = 1;
🗑️ 데이터 삭제 (DELETE)
DELETE FROM employees WHERE id = 1;
🏗️ 테이블 생성 (CREATE)
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
5. 함수와 집계 (Functions & Aggregation)
- 집계 함수: COUNT(), SUM(), AVG(), MAX(), MIN()
- 문자열 함수: CONCAT(), SUBSTR(), UPPER(), LOWER()
- 날짜 함수: SYSDATE, TO_DATE(), MONTHS_BETWEEN()
- 숫자 함수: ROUND(), TRUNC(), MOD()
6. 인덱스와 성능 최적화
- 인덱스(Index): 검색 속도를 빠르게 하지만, 삽입/수정 시 성능 저하 가능.
- 뷰(View): 복잡한 쿼리를 단순하게 사용 가능.
7. 관계형 데이터베이스의 제약조건 (Constraints)
- NOT NULL: NULL 값 허용하지 않음.
- UNIQUE: 중복 값 허용하지 않음.
- CHECK: 특정 조건 만족 여부 확인.
- DEFAULT: 값 미입력 시 기본 값 지정.
✅ 정리:
SQL은 데이터베이스와 소통하는 언어로, 데이터를 효과적으로 생성, 조회, 수정, 삭제할 수 있게 도와줍니다. DML을 주로 사용하지만, DDL, DCL, TCL을 적절히 사용하면 데이터 관리와 보안, 트랜잭션 제어까지 체계적으로 할 수 있어요.
반응형
'개발 > SQL' 카테고리의 다른 글
📊 5. 성능 최적화 & 트러블슈팅 (빠른 쿼리 = 좋은 개발자) (0) | 2025.03.03 |
---|---|
PL/SQL 기초 가이드: 오라클에서 프로그래밍하기 🚀 (0) | 2025.03.02 |
데이터베이스 설계 & 정규화: 좋은 테이블 구조 만들기 🏗️ (0) | 2025.03.01 |
🚀 SQL 효율적인 데이터 접근: VIEW, INDEX, SEQUENCE 완벽 가이드 (Oracle 기준) (4) | 2025.02.26 |
🧩 SQL 고급 SELECT & JOIN 완벽 가이드 (Oracle 기준) (8) | 2025.02.25 |