SQL(Structured Query Language)은 관계형 데이터베이스(RDBMS)에서 데이터를 정의하고 조작하는 데 사용되는 언어입니다. SQL 명령어는 기능에 따라 다음과 같은 유형으로 나눌 수 있습니다:
✅ 1. 데이터 정의 언어 (DDL: Data Definition Language)
데이터베이스 구조(테이블, 인덱스 등)를 정의할 때 사용
명령어 설명
| CREATE | 데이터베이스, 테이블, 뷰 등 생성 |
| ALTER | 기존 테이블 구조 수정 (열 추가/변경/삭제 등) |
| DROP | 테이블, 뷰, 데이터베이스 삭제 |
| TRUNCATE | 테이블의 모든 데이터 삭제 (구조는 유지) |
| RENAME | 테이블 또는 열의 이름 변경 |
✅ 2. 데이터 조작 언어 (DML: Data Manipulation Language)
테이블의 데이터를 조회, 추가, 수정, 삭제할 때 사용
명령어 설명
| SELECT | 데이터 조회 |
| INSERT | 새 데이터 삽입 |
| UPDATE | 기존 데이터 수정 |
| DELETE | 데이터 삭제 |
✅ 3. 데이터 제어 언어 (DCL: Data Control Language)
사용자 권한을 제어할 때 사용
명령어 설명
| GRANT | 사용자에게 권한 부여 |
| REVOKE | 사용자 권한 회수 |
✅ 4. 트랜잭션 제어 언어 (TCL: Transaction Control Language)
트랜잭션(논리적 작업 단위)의 처리를 제어할 때 사용
명령어 설명
| COMMIT | 변경 내용 저장(확정) |
| ROLLBACK | 변경 내용 취소(되돌리기) |
| SAVEPOINT | 롤백 지점 설정 |
| SET TRANSACTION | 트랜잭션 특성 설정 |
✅ 5. 기타 자주 사용되는 SELECT 관련 구문
키워드 설명
| WHERE | 조건 지정 |
| ORDER BY | 정렬 |
| GROUP BY | 그룹화 |
| HAVING | 그룹 조건 지정 |
| JOIN | 여러 테이블 연결 조회 |
| AS | 별칭 지정 |
| DISTINCT | 중복 제거 |
| LIMIT / OFFSET | 결과 행 개수 제한 |
✅ 예시 -- 테이블 생성 (DDL) CREATE TABLE employees ( id INT PRIMARY KEY, name VARCHAR(100), salary DECIMAL(10,2) ); -- 데이터 삽입 (DML) INSERT INTO employees (id, name, salary) VALUES (1, 'Alice', 5000.00); -- 데이터 조회 SELECT * FROM employees WHERE salary > 4000; -- 데이터 수정 UPDATE employees SET salary = 5500 WHERE id = 1; -- 데이터 삭제 DELETE FROM employees WHERE id = 1; -- 권한 부여 (DCL) GRANT SELECT, INSERT ON employees TO user_name;
필요하신 경우, SELECT 쿼리나 JOIN, GROUP BY 같은 복잡한 SQL 구문을 예제로 설명드릴 수 있습니다. 원하시나요?