1. DDL (Data Definition Language)
데이터베이스의 구조를 정의하는 언어로, 테이블이나 데이터베이스를 생성, 수정, 삭제하는 데 사용됩니다.
CREATE: 데이터베이스, 테이블, 뷰, 인덱스 등을 생성합니다.
CREATE DATABASE 데이터베이스명;
CREATE TABLE 테이블명 (
컬럼명 컬럼속성
);
DROP: 데이터베이스, 테이블, 뷰, 인덱스 등을 삭제합니다.
DROP DATABASE 데이터베이스명;
DROP TABLE 테이블명;
ALTER: 데이터베이스, 테이블 등의 속성을 변경합니다.
추가: ALTER TABLE 테이블명 ADD 컬럼명 컬럼속성;
삭제: ALTER TABLE 테이블명 DROP 컬럼명;
수정: ALTER TABLE 테이블명 MODIFY 컬럼명 컬럼속성;
이름 변경: ALTER TABLE 테이블명 RENAME TO 새로운테이블명;
2. DML (Data Manipulation Language)
데이터베이스에서 데이터를 조작하는 언어로, 데이터의 저장, 삭제, 수정, 조회를 수행합니다.
SELECT: 테이블에서 원하는 데이터를 조회합니다.
SELECT 컬럼목록 FROM 테이블명 [WHERE 조건];
INSERT: 테이블에 새로운 데이터를 삽입합니다.
INSERT INTO 테이블명 (컬럼목록) VALUES (값목록);
DELETE: 특정 조건에 맞는 데이터를 삭제합니다.
DELETE FROM 테이블명 [WHERE 조건];
UPDATE: 특정 조건에 맞는 데이터를 수정합니다.
UPDATE 테이블명 SET 컬럼 = 값 [WHERE 조건];
3. DCL (Data Control Language)
데이터베이스에 대한 권한을 설정하는 언어입니다.
GRANT: 특정 사용자에게 권한을 부여합니다.
GRANT [권한] ON 객체명 TO 사용자;
REVOKE: 특정 사용자에게 권한을 취소합니다.
REVOKE [권한] ON 객체명 FROM 사용자;
4. TCL (Transaction Control Language)
데이터베이스 내 트랜잭션을 관리하는 언어입니다.
COMMIT: 작업이 정상적으로 완료되었음을 알립니다.
START TRANSACTION;
...
COMMIT;
ROLLBACK: 작업이 비정상적으로 완료되었음을 알리고 이전 상태로 되돌립니다.
START TRANSACTION;
...
ROLLBACK;
5. 제약 조건 (Constraints)
고유 제약 조건 (Unique): 특정 컬럼이 중복된 값을 가질 수 없도록 합니다. (예: 사용자 아이디, 이메일)
NULL 제약 조건 (Null): 특정 컬럼이 NULL 값을 허용하거나 허용하지 않도록 설정합니다.
기본 키 제약 조건 (Primary Key): 각 행을 고유하게 식별할 수 있도록 보장합니다.
외래 키 제약 조건 (Foreign Key): 테이블 간의 관계를 설정합니다.
1:1: 사용자(User)는 사용자 정보(UserInfo)를 1개 가질 수 있다.
1:N: 사용자(User)는 여러 개의 주문(Order)을 할 수 있다.
N:M: 여러 명의 학생(Student)은 여러 개의 학원(School)을 등록할 수 있다.