SQL 공부하기(0) - SQL 개요 및 문법 종류

kimseyoung·2023년 1월 30일

Data Science

목록 보기
1/2

SQL(Structured Query Language)

SQL(Structured Query Language, 구조화 질의어)는 관계형 데이터베이스 관리시스템(RDBMS)의 데이터 관리를 위해 설계된 특수 목적의 프로그래밍 언이다.

관계형 데이터베이스에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정관리를 위해 1970년대 초 IBM의 도널드 D.챔벌린, 레이먼드.F.보이스가 처음 개발하였다.

SQL의 문법종류

SQL은 다음의 세가지 문법으로 분류된다.

  • DDL (Data Definition Language, 데이터 정의 언어)
  • DML (Data Manipulation Language, 데이터 조작 언어)
  • DCL (Data Control Language, 데이터 제어 언어)

DDL(데이터 정의 언어)

DDL을 이해하기전, RDBMS에는 데이터를 담는 다섯가지 구조가 존재한다.

  • Table: 데이터를 저장하는 기본 저장 단위, 행과 열로 구성
  • View: 쿼리문의 결과를 나타내는 데이터의 부분집합
  • Sequence: 일련번호 생성기(번호를 생성하는 DB오브젝트)
  • Synonym: 테이블의 또 다른 이름을 부여
  • Index: 검색속도를 향상하기 위한 DB오브젝트

위의 다섯가지를 지금 설명하지 않지만, 위와 같은 구조 생성하기 위한 언어가 DDL이며, 보통은 Table을 가르킨다.

DDL 기본 문법은 다음과 같다.

  • Create
    말 그대로 생성 명령문이다. 다음과 같이 사용한다.
CREATE TABLE 테이블 명 (컬럼명 데이터유형(길이)....)
  • ALTER
    ALTER는 테이블의 특정 컬럼을 삭제하거나 생성또는 수정할 때 사용한다.
    다음과 같이 사용한다.
ALTER TABLE 테이블 명 (ADD, DROP, MODIFY)
  • DROP, TRUNCATE
    DROP과 TRUNCATE는 모두 삭제 구문이다. DML에 DELETE문과 흡사한데. 셋의 차이점은 Rollback 가능여부, Flashback 여부, 저장구조를 보존하느냐에 따라 모두 다르다. 지금 설명하지 않는다.
    다음과 같이 사용함만 알아두자.
DROP TABLE 테이블 명;
TRUNCATE TABLE 테이블 명;

DML

DML은 데이터를 조작하기 위한 언어이다. 데이터를 조작한다는 것은 데이터의 수정, 삭제, 입력, 이를 한번에 수행 하는 언어이다.

DML의 구문은 다음과 같다.

  • INSERT: 데이터를 삽입한다.
INSERT INTO 테이블 명 VALUES(...)
  • DELETE: 데이터를 삭제한다.
DELETE 테이블 명 
  • UPDATE: 데이터를 수정한다.
UPDATE 테이블 명 SET 컬럼명 = 값 WHERE 조건문
  • MERGE: 삽입, 삭제, 수정을 동시에 실행할 때 사용한다.
MERGE INTO 테이블 명1
USING 테이블 명2
ON 조건문
WHEN MATCHED THEN
실행문1
실행문2
실행문3
...

DCL

DCL은 데이터를 제어하기 위한 언어이다. 데이터를 제어한다는 것은 데이터베이스나 테이블에 대한 접근 권한을 제어하는 것을 의미한다.

  • GRANT : 권한을 부여한다.
  • REVOKE: 권한을 회수한다.

TCL (추가적인 정보)

TCL은 Transaction Control Language의 약자로서, 트랜잭션을 제어하는 언어를 말한다.( 추후 트랜잭션에 대한 챕터에 추가 될 예정)

  • COMMIT: 현재까지 실행된 트랜잭션들을 디스크에 반영한다. (물리적 반영)
  • ROLLBACK: 현재까지 실행된 트랜잭션들을 반영하지 않고, SGA에서 삭제한다.
  • SAVEPOINT: 윈도우의 시스템 복원과 같다. SAVEPOINT를 지정한 상태로 복구한다.
profile
Back-end Developer, DevOps Engineer

0개의 댓글