06 SQL 기초
SQL 개요
SQL(Structured Query Language)는 관계형 데이터베이스에서 데이터를 관리하고 처리하는 데 사용되는 표준 프로그래밍 언어
SQL은 데이터를 정의하고, 검색하며, 조작하는 기능을 제공함으로써 데이터베이스 관리 시스템(DBMS)에서 핵심적인 역할을 수행함
데이터를 삽입(Insert), 조회(Select), 수정(Update), 삭제(Delete) 등 다양한 작업을 수행할 수 있음
SQL의 역할
데이터 정의: 데이터베이스 스키마(테이블, 열, 데이터 타입 등)를 정의함
데이터 조작: 테이블에 데이터를 삽입, 조회, 수정, 삭제할 수 있음
데이터 제어: 데이터에 대한 권한을 제어하고 트랜잭션을 관리할 수 있음
데이터 무결성 유지: 데이터의 정확성과 일관성을 보장함
SQL의 주요 구성 요소
SQL은 각 명령어가 데이터베이스에서 수행하는 작업의 성격에 따라 4 가지로 구분됨
DDL (Data Definition Language) : 데이터베이스 구조를 정의하는 언어 (예: CREATE, ALTER, DROP)
DML (Data Manipulation Language) : 데이터베이스 내의 데이터를 조작하는 언어 (예: SELECT, INSERT, UPDATE, DELETE)
DCL (Data Control Language) : 데이터베이스의 권한을 관리하는 언어 (예: GRANT, REVOKE)
TCL (Transaction Control Language) : 트랜잭션을 제어하는 언어 (예: COMMIT, ROLLBACK)
1. 데이터 정의 언어(DDL)
데이터 정의 언어(DDL, Data Definition Language)는 데이터베이스의 구조(스키마)를 정의하거나 수정하는 명령어를 제공함. 주로 테이블이나 데이터베이스를 생성하거나 수정할 때 사용됨
주요 명령어
CREATE : 새로운 데이터베이스 객체(테이블, 인덱스 등)를 생성
ALTER : 기존 데이터베이스 객체를 수정
DROP : 데이터베이스 객체를 삭제
CREATE
새로운 데이터베이스 객체(테이블, 인덱스 등)를 생성필요한 컬럼과 각 컬럼의 타입 리스트를 정의해주어야 함
ALTER
기존 데이터베이스 객체를 수정
Employees 테이블에 DATE 타입의 hire_date라는 컬럼 추가
DROP
데이터베이스 객체를 삭제
테이블 전체를 삭제함
2. 데이터 조작 언어(DML)
데이터 조작 언어(DML, Data Manipulation Language)는 데이터베이스에 저장된 데이터를 조작하는 데 사용되는 명령어로, 데이터를 삽입, 수정, 삭제, 조회할 때 사용됨
주요 명령어
SELECT: 데이터를 조회
INSERT: 새로운 데이터를 테이블에 삽입
UPDATE: 기존 데이터를 수정
DELETE: 데이터를 삭제
SELECT
데이터베이스에서 데이터를 조회함
조회하고자 하는 컬럼과 조건을 필터링할 수 있음
INSERT
새로운 데이터를 테이블에 삽입함
UPDATE
기존 데이터를 수정함
DELETE
데이터를 삭제함
삭제하고자 하는 데이터의 조건 입력
3. 데이터 제어 언어(DCL)
데이터 제어 언어(DCL, Data Control Language)는 데이터베이스에 대한 접근을 제어하고, 사용자의 권한을 관리하는 데 사용됨
주요 명령어
GRANT: 사용자에게 특정 권한을 부여
REVOKE: 사용자에게 부여된 권한을 취소
GRANT
사용자에게 특정 권한을 부여함
사용자에게 특정 권한을 부여하기 위해 우선 사용자를 생성함
생성한 사용자 정보로 DB 접속
사용자에게 부여되지 않은 권한을 실행하면 동작하지 않고 에러 발생
REVOKE
사용자에게 부여된 권한을 취소함
이전에는 실행되었던 INSERT가 더 이상 실행되지 않음
4. 트랜잭션 제어 언어(TCL)
트랜잭션 제어 언어(TCL, Transaction Control Language)는 데이터베이스 트랜잭션을 제어하는 데 사용됨
트랜잭션은 데이터베이스에서 수행하는 일련의 작업으로, 모든 작업이 성공하거나 실패할 때만 데이터가 변경되도록 보장함
주요 명령어
COMMIT: 트랜잭션에서 수행한 모든 변경 사항을 저장
ROLLBACK: 트랜잭션에서 수행한 모든 변경 사항을 취소
SAVEPOINT: 트랜잭션 내에서 되돌릴 지점을 설정
COMMIT
트랜잭션이 성공적으로 완료되었음을 데이터베이스에 알리고, 해당 트랜잭션의 모든 변경 사항을 확정함
ROLLBACK
트랜잭션 중 문제가 발생했을 경우, 해당 트랜잭션에서 수행한 모든 변경 사항을 취소하고 이전 상태로 되돌림
변경 사항 없음
Last updated