SQL

Structured Query Language

개념

  • 데이터베이스에서 데이터의 조작과 데이터 정의를 하기 위해서 사용하는 언어

  • 사용자는 데이터베이스에 데이터를 입력, 조회, 수정, 삭제를 하기 위해서 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은 프로그래밍, 데이터분석, 마케팅, 기획, 사업 등 다양한 분야에서 필수로 사용한다. 따라서 투자 대비 활용도가 매우 높은 언어!

Last updated