SQL 기초 정리 DDL, DML, DCL 알아보기
- 데이터 사이언스/DB
- 2024. 8. 13.
반응형
반응형
SQL 기초 정리 DDL, DML, DCL 알아보기
데이터베이스를 다루다 보면 꼭 알아야 할 개념 중 하나가 바로 SQL(Structured Query Language)입니다. SQL은 데이터베이스 관리 시스템(DBMS)과 상호 작용할 수 있게 해주는 언어로, 데이터를 정의하고, 조작하며, 제어할 수 있는 다양한 명령어들을 제공합니다. 이번 글에서는 SQL의 세 가지 주요 범주인 DDL, DML, DCL에 대해 알아보겠습니다.
1. DDL (Data Definition Language) - 데이터 정의 언어
DDL은 데이터베이스의 구조를 정의하는 데 사용되는 명령어들의 집합입니다. 테이블이나 인덱스, 스키마 등의 데이터베이스 객체를 생성하거나 수정, 삭제하는 작업을 수행합니다. 즉, 데이터베이스의 골격을 만드는 데 사용됩니다.
- CREATE: 새로운 데이터베이스 객체(테이블, 인덱스 등)를 생성합니다.
CREATE TABLE Users ( UserID INT PRIMARY KEY, Username VARCHAR(50), Password VARCHAR(50) );
- ALTER: 기존의 데이터베이스 객체를 수정합니다. 예를 들어, 테이블에 새로운 열을 추가하거나 기존 열의 속성을 변경할 수 있습니다.
ALTER TABLE Users ADD Email VARCHAR(100);
- DROP: 데이터베이스 객체를 삭제합니다. 삭제된 객체는 복구할 수 없습니다.
DROP TABLE Users;
- TRUNCATE: 테이블의 모든 데이터를 삭제하지만, 테이블의 구조는 유지됩니다. 이 작업은 일반적으로 DELETE 명령어보다 빠르게 수행됩니다.
TRUNCATE TABLE Users;
2. DML (Data Manipulation Language) - 데이터 조작 언어
DML은 데이터베이스에서 실제 데이터를 다루는 데 사용되는 명령어들의 집합입니다. 데이터를 삽입, 조회, 갱신, 삭제하는 등의 작업을 수행합니다.
- SELECT: 데이터베이스에서 데이터를 조회합니다.
SELECT * FROM Users;
- INSERT: 새로운 데이터를 데이터베이스에 삽입합니다.
INSERT INTO Users (UserID, Username, Password) VALUES (1, 'john_doe', 'securepassword');
- UPDATE: 기존 데이터를 수정합니다.
UPDATE Users SET Password = 'newpassword' WHERE UserID = 1;
- DELETE: 데이터를 삭제합니다.
DELETE FROM Users WHERE UserID = 1;
3. DCL (Data Control Language) - 데이터 제어 언어
DCL은 데이터베이스에 대한 접근을 제어하고, 권한을 관리하는 명령어들의 집합입니다. 주로 데이터베이스 사용자에게 권한을 부여하거나 취소하는 작업을 수행합니다.
- GRANT: 특정 사용자에게 데이터베이스 작업에 대한 권한을 부여합니다.
GRANT SELECT, INSERT ON Users TO 'username';
- REVOKE: 특정 사용자의 권한을 회수합니다.
REVOKE INSERT ON Users FROM
함께 보면 좋은 글
'데이터 사이언스 > DB' 카테고리의 다른 글
파이썬에서 Mysql 사용하는 간편한 방법(feat.pymysql) (0) | 2024.08.17 |
---|---|
Mysql 환경변수 설정하기 (0) | 2024.08.16 |
데이터베이스(DB) key,id 종류 (0) | 2024.08.12 |
[DB] 디비버 ORA-28002 비밀번호 만기 경고 없애기 (0) | 2022.11.17 |
[DB] 데이터 모델링이란? (0) | 2022.11.02 |