본문 바로가기

SQL

SQL [0] - Introduction

순번 이름 ID 성별 Email 가입 날짜
1 최수지 kim5 여성 abc@gmail.com 2020-12-31
2 김재현 wonder 남성 ww@gmail.com 2021-01-03
3 이석현 superact 남성 a@gmail.com 2021-03-01
4 조나은 fly 여성 32a@gmail.com 2020-12-22
... ... ... ... ... ...
9999 장현준 jang 남성 jang@gmail.com 2021-01-28

 

위를 보시면, 구조화된 데이터들이 보입니다.

위의 표처럼 행과 열을 포함하는 테이블(Table)을 릴레이션(Relation)이라고 말합니다.
ㄴ 참고하시면 : 열(column) = 속성(attribute) / 행(row) = 튜플(tuple)

따라서, 영어로 이것을 Relation Database, 우리말로 관계형 데이터베이스라고 부릅니다.

 

 

실제 어떤 회사에서 이러한 데이터베이스를 구축하고 있을시, 
장현준이라는 고객으로부터 아래와 같은 문의 전화가 옵니다. 
"저의 아이디는 jang인데요. 제가 가입한 날짜가 어떻게 되죠?"

 

 

그럼, 1번부터 9999번까지의 데이터를 모두 찾아볼 필요없이, 

아이디를 이용하여 그의 가입 날짜를 찾을 수 있습니다.

이러한 기능을 제공해주는 것이 바로 SQL입니다.

 

SQL의 정의

SQLStructured Query Language의 약자로 '구조적 질의 언어'라고 직역할 수 있습니다.

여기서 Query란 "(정보를) 요청하다."라는 의미로 해석될 수 있습니다.

지원해주는 프로그램으로는 Oracle, MS-SQL, MySQL, Sybase, DBeaver 등이 있습니다.

시스템별로 약간씩 상이한 부분이 있지만, 대체로 비슷한 문법이나 기능을 제공합니다. 

 

SQL의 종류

DDL (Data Definition Language)

관계형 데이터베이스의 구조를 정의하는 언어이다. 

ex) Create, Alter, Drop, Rename

 

DML (Data Manipulation Language)

테이블에서 데이터를 입력, 수정, 삭제, 조회한다.

ex) Insert, Update, Delete, Select

 

DCL (Data Control Language)

데이터베이스 사용자에게 권한을 부여하거나 회수한다.

ex) Grant, Revoke

 

TCL (Transaction Control Language)

트랜잭션을 제어하는 명령어이다.

ex) Commit, Rollback

 

** 본 블로그는 DML의 SELECT구문 설명 및 연습으로 시작합니다.