데이터베이스 언어(Database Language)는 데이터베이스를 구축하고 이용하기 위한 데이터베이스 시스템과의 통신 수단으로 데이터베이스를 설계, 정의, 질의, 조작, 관리하기 위한 언어들입니다. 데이터베이스 언어는 데이터베이스 시스템의 기능을 수행하기 위해 다양한 유형으로 나뉩니다.
CREATE
: 데이터베이스 객체 생성 CREATE TABLE Users (
id INT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(50)
);
ALTER
: 기존 객체 변경 ALTER TABLE Users ADD COLUMN age INT;
DROP
: 데이터베이스 객체 삭제 DROP TABLE Users;
TRUNCATE
: 테이블 데이터 초기화 (구조는 유지) TRUNCATE TABLE Users;
INSERT
: 데이터 삽입 INSERT INTO Users (id, name, email) VALUES (1, 'Alice', 'alice@example.com');
UPDATE
: 데이터 수정 UPDATE Users SET email = 'newemail@example.com' WHERE id = 1;
DELETE
: 데이터 삭제 DELETE FROM Users WHERE id = 1;
SELECT
: 데이터 조회 SELECT * FROM Users WHERE name = 'Alice';
GRANT
: 사용자에게 권한 부여 GRANT SELECT, INSERT ON Users TO 'username';
REVOKE
: 사용자 권한 회수 REVOKE INSERT ON Users FROM 'username';
COMMIT
: 트랜잭션의 변경 내용을 영구적으로 반영 COMMIT;
ROLLBACK
: 트랜잭션 변경 내용을 취소 ROLLBACK;
SAVEPOINT
: 트랜잭션 내 특정 시점을 설정 SAVEPOINT sp1;
RELEASE SAVEPOINT
: 설정한 SAVEPOINT를 제거 RELEASE SAVEPOINT sp1;
SET TRANSACTION
: 트랜잭션 속성 설정 SET TRANSACTION READ ONLY;
언어 | 주요 역할 | 예시 명령어 |
---|---|---|
DDL | 데이터베이스 구조 정의 및 관리 | CREATE , ALTER , DROP |
DML | 데이터 조작 및 관리 | SELECT , INSERT , UPDATE |
DCL | 데이터 접근 권한 제어 | GRANT , REVOKE |
TCL | 트랜잭션 관리 | COMMIT , ROLLBACK , SAVEPOINT |
DDL 활용
새 테이블 생성:
CREATE TABLE Products (
id INT PRIMARY KEY,
name VARCHAR(50),
price DECIMAL(10, 2)
);
DML 활용
데이터 삽입 및 조회:
INSERT INTO Products (id, name, price) VALUES (1, 'Laptop', 1500.00);
SELECT * FROM Products WHERE price > 1000;
DCL 활용
읽기 권한 부여:
GRANT SELECT ON Products TO 'read_user';
TCL 활용
트랜잭션 처리:
BEGIN;
INSERT INTO Products (id, name, price) VALUES (2, 'Smartphone', 800.00);
COMMIT;