IT 이론지식

SQL(Structured Query Language)

쥐PT 2024. 3. 12. 17:58
728x90
반응형
SMALL

SQL(Structured Query Language)은 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 관리하기 위한 표준 데이터베이스 언어입니다. SQL은 데이터의 삽입, 삭제, 수정, 조회 등 다양한 작업을 수행할 수 있습니다. 이하에는 SQL의 주요 종류와 각각의 예시를 상세히 설명합니다.

1. 데이터 정의 언어 (DDL - Data Definition Language)

DDL은 데이터베이스의 구조를 정의하거나 수정하는 데 사용됩니다.

가. CREATE

데이터베이스 객체를 생성합니다.

CREATE TABLE Students (
    StudentID INT PRIMARY KEY,
    Name VARCHAR(50),
    Age INT,
    GPA FLOAT
);

나. ALTER

데이터베이스 객체의 구조를 변경합니다.

ALTER TABLE Students
ADD COLUMN Gender VARCHAR(10);

다. DROP

데이터베이스 객체를 삭제합니다.

DROP TABLE Students;

2. 데이터 조작 언어 (DML - Data Manipulation Language)

DML은 데이터를 조작하고 쿼리하는 데 사용됩니다.

가. SELECT

데이터를 조회합니다.

SELECT * FROM Students WHERE Age > 20;

나. INSERT

데이터를 삽입합니다.

INSERT INTO Students (StudentID, Name, Age, GPA) VALUES (1, 'John', 22, 3.5);

다. UPDATE

데이터를 갱신합니다.

UPDATE Students SET Age = 23 WHERE StudentID = 1;

라. DELETE

데이터를 삭제합니다.

DELETE FROM Students WHERE StudentID = 1;

3. 데이터 제어 언어 (DCL - Data Control Language)

DCL은 데이터베이스에 대한 접근 권한을 제어하는 데 사용됩니다.

가. GRANT

사용자에게 권한을 부여합니다.

GRANT SELECT ON Students TO user1;

나. REVOKE

사용자의 권한을 회수합니다.

REVOKE SELECT ON Students FROM user1;

4. 데이터 관리 언어 (DQL - Data Query Language)

DQL은 데이터를 질의하는 데 사용됩니다.

가. JOIN

두 개 이상의 테이블을 결합하여 데이터를 조회합니다.

SELECT Students.Name, Courses.CourseName
FROM Students
INNER JOIN Courses ON Students.StudentID = Courses.StudentID;

나. SUBQUERY

하위 쿼리를 사용하여 중첩된 결과를 얻습니다.

SELECT * FROM Students WHERE Age IN (SELECT Age FROM Students WHERE GPA > 3.0);

다. 집계 함수

데이터의 그룹을 집계하여 결과를 반환합니다.

SELECT COUNT(*) FROM Students;

5. 트랜잭션 제어 언어 (TCL - Transaction Control Language)

TCL은 트랜잭션의 처리를 제어하는 데 사용됩니다.

가. COMMIT

트랜잭션의 변경 사항을 영구적으로 데이터베이스에 적용합니다.

COMMIT;

나. ROLLBACK

트랜잭션의 변경 사항을 취소하고 이전 상태로 되돌립니다.

ROLLBACK;

결론

위에서 설명한 SQL 종류와 예시를 통해 데이터베이스의 구조를 정의하고 관리하는 데 사용되는 SQL 문을 상세하게 이해할 수 있습니다. SQL은 데이터베이스 관리에 필수적인 도구이며, 데이터를 조작하고 쿼리하며, 접근 권한을 제어하는 데 사용됩니다.

728x90
반응형
LIST

'IT 이론지식' 카테고리의 다른 글

정적 SQL / 동적 SQL  (0) 2024.03.17
데이터베이스 이상현상  (0) 2024.03.17
데이터베이스 파티셔닝  (0) 2024.03.12
공개 키 기반 인프라(PKI, Public Key Infrastructure)  (0) 2024.03.12
암호화/복호화  (0) 2024.03.12