SQL
개념
•
데이터베이스에서 데이터의 조작과 데이터 정의를 하기 위해서 사용하는 언어
•
사용자는 데이터베이스에 데이터를 입력, 조회, 수정, 삭제를 하기 위해서 SQL을 사용한다.
•
1970년대에 IBM 에서 최초로 개발
•
관계형 모델이라는 이론에서 파생되었다.
SQL != Database
종류
국제 표준화 기구에서 표준화한 문법을 ANSI SQL 이라고 한다. 각 DBMS 제조마다 개발한 고유 SQL도 있다.
•
SQL Server : Transact-SQL = T-SQL
•
Orable : PL/SQL
•
MySQL : SQL
•
국제표준 : ANSI SQL
각 제조사는 ANSI SQL 을 따르면서도 제품에 특화한 문법이나 명세를 추가한 SQL를 사용한다. 즉, ANSI SQL 을 기반으로 각 제조사별로 특화된 문법이 추가적으로 더 있는 셈!
ANSI SQL은 1986년 SQL-86이후 SQL:2019까지 발표되었다. (2019년 기준)
문법 종류
•
DDL : Data Define Language. 데이터 정의 언어
•
DML : Data Manipulation Language. 데이터 조작 언어
•
DCL : Data Control Language. 데이터 제어 언어
1. DDL
데이터베이스를 정의하는 언어로 테이블 및 스키마를 관리한다.
•
CREATE : 데이터베이스 혹은 테이블을 생성
•
ALTER : 데이터베이스 혹은 테이블을 수정
•
DROP : 데이터베이스 혹은 테이블을 삭제
•
TRUNCATE : 테이블을 초기화
◦
테이블은 남아있고 데이터만 없어진다.
2. DML
데이터베이스 테이블에 입력된 데이터를 검색, 입력, 수정, 삭제하는 언어
•
SELECT : 데이터 검색
•
INSERT : 데이터 삽입
•
UPDATE : 데이터 수정
•
DELETE : 데이터 삭제
3. DCL
데이터베이스 접근 및 객체에 대한 권한을 부여한다.
•
GRANT : 특정 수행 권한을 부여
•
REVOKE : 특정 수행 권한을 삭제
•
COMMIT : 트랜잭션 작업을 완료하는 역할
•
ROLLBACK : 트랜잭션 작업을 취소하거나 이전 상태로 복구하는 역할
왜 SQL을 배워야 하는가
•
다양한 매체의 발달로 새로 생성되는 데이터의 양 증가
•
음석, 이미지, 텍스트 등 데이터 형태의 다양화
•
데이터에 기반한 의사결정이 일반화 됨
•
대부분의 데이터는 RDBMS 에 저장한다.
•
RDMBS에 저장된 데이터를 추출하려면 SQL을 사용해야한다.
•
RDBMS가 아닌 시스템에서도 SQL과 비슷한 문법을 사용해서 데이터를 추출 가능하다.
•
데이터 분석의 시작은 데이터 추출이다.
실제로 SQL은 프로그래밍, 데이터분석, 마케팅, 기획, 사업 등 다양한 분야에서 필수로 사용한다. 따라서 투자 대비 활용도가 매우 높은 언어!