반응형
데이터베이스에서 사용하는 명령어
데이터베이스에서 사용하는 명령어는 기능에 따라 크게 세 가지로 구분됩니다. 데이터 정의어(DDL), 데이터 조작어(DML), **데이터 제어어(DCL)**입니다. 각 범주의 개념과 주요 명령어를 정리하면 다음과 같습니다.
1. 데이터 정의어 (DDL, Data Definition Language)
데이터 정의어는 데이터베이스의 구조를 정의하거나 변경할 때 사용하는 명령어입니다. 즉, 테이블, 인덱스, 뷰, 스키마 등의 형태와 구조를 설계할 때 사용합니다.
주요 명령어
명령어 | 기능 |
CREATE | 새로운 데이터베이스 객체(테이블, 뷰, 인덱스 등)를 생성합니다. |
ALTER | 기존 객체의 구조를 수정합니다. (예: 컬럼 추가, 삭제, 데이터형 변경 등) |
DROP | 데이터베이스 객체를 완전히 삭제합니다. |
TRUNCATE | 테이블의 모든 데이터를 삭제하되, 구조는 유지합니다. |
RENAME | 객체의 이름을 변경합니다. |
예시
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(50),
major VARCHAR(50)
);
ALTER TABLE student ADD COLUMN age INT;
DROP TABLE student;
2. 데이터 조작어 (DML, Data Manipulation Language)
데이터 조작어는 테이블 안의 데이터를 추가, 조회, 수정, 삭제하는 명령어입니다.
즉, 데이터 자체를 다루는 데 사용됩니다.
주요 명령어
명령어 | 기능 |
SELECT | 데이터를 조회합니다. |
INSERT | 데이터를 새로 추가합니다. |
UPDATE | 기존 데이터를 수정합니다. |
DELETE | 데이터를 삭제합니다. |
예시
INSERT INTO student (id, name, major) VALUES (1, '김병한', '국문학');
SELECT * FROM student;
UPDATE student SET major = '문예창작' WHERE id = 1;
DELETE FROM student WHERE id = 1;
3. 데이터 제어어 (DCL, Data Control Language)
데이터 제어어는 데이터베이스의 보안과 접근 권한을 관리하는 명령어입니다.
즉, 사용자가 데이터베이스에 접근하거나 조작할 수 있는 권한을 부여하거나 회수할 때 사용합니다.
주요 명령어
명령어 | 기능 |
GRANT | 사용자에게 특정 권한을 부여합니다. |
REVOKE | 사용자에게 부여된 권한을 회수합니다. |
COMMIT | 트랜잭션의 변경사항을 영구적으로 반영합니다. |
ROLLBACK | 트랜잭션의 변경사항을 취소합니다. |
SAVEPOINT | 트랜잭션 내에서 임시 저장점을 설정합니다. |
예시
GRANT SELECT, INSERT ON student TO user1;
REVOKE DELETE ON student FROM user1;
COMMIT;
ROLLBACK;
📘 요약 비교표
구분 | 약어 | 주요 대상 | 기능 | 대표 명령어 |
데이터 정의어 | DDL | 데이터베이스 구조 | 객체 생성·수정·삭제 | CREATE, ALTER, DROP |
데이터 조작어 | DML | 데이터 내용 | 데이터 입력·수정·삭제·조회 | SELECT, INSERT, UPDATE, DELETE |
데이터 제어어 | DCL | 사용자 권한 및 트랜잭션 | 권한 부여·회수, 트랜잭션 관리 | GRANT, REVOKE, COMMIT, ROLLBACK |
이 세 가지는 데이터베이스를 설계(DDL) → 활용(DML) → 보안·관리(DCL)하는 흐름으로 연결됩니다.
즉, 구조를 만들고(DDL), 데이터를 다루며(DML), 그 접근과 변경을 통제(DCL)함으로써 안정적인 데이터베이스 운영이 이루어집니다.
반응형
'컴퓨터 활용 > 노년에 즐기는 코딩' 카테고리의 다른 글
캘리버 전자책 편집기의 두 폴더의 차이 (1) | 2025.10.10 |
---|---|
EPUB 전자책을 PDF로 변환 (0) | 2025.10.06 |
[MySQL] 100편의 시를 모으기까지 (1) | 2025.10.04 |
AWS EC2 EBS 루트 볼륨 확장 방법 (0) | 2025.10.03 |
AWS EventBridge, Lambda, Elastic Beanstalk 실습 후기 (0) | 2025.10.02 |
댓글