SQL 이란?

오랫만에 SQL을 공부하고자 마음 먹은 것은

저도 포스팅했었던 적이 있는 인프런 무료강의 이벤트로 인하여 인프런의 서버 자체가 다운되는 이슈가 있었습니다.

SQL

인프런 장애?

최근 무료 이벤트를 진행했던 온라인 교육 플랫폼인 인프런이 장애를 일으켰습니다.

2022.01.04 - [News] - 인프런 무료 강의 공개

 

인프런 무료 강의 공개

인프런에서 새해맞이 무료 강의를 공개하였습니다. 인프런이란? 인프런 2017년 4월에 세워진 대한민국의 온라인 교육 전문 플랫폼이니다. 개발, 보안, 데이터사이언스 등 IT분야 교육이 기업의 핵

dorudoru.tistory.com

해당 장애의 원인 분석한 블로그를 보니 잘못 설계된 SQL 쿼리로 인하여 발생한 것인데요.

사실 사용자가 많지 않았을 때에는 사용하는데 문제가 없었으니,

이번 이벤트로 인하여 사용자가 폭증하면서 해당 문제로 인하여 서버가 다운되면서 밝혀진 것인데요.

자세한 장애 내용은 하단의 인프런 블로그 내용을 참고하시기 바랍니다.

이번 장애 건이 무척 흥미로워서 SQL에 대해서 간만에 다시 정리해보고자 합니다.

인프런 서버 다운

 

2022년 1월 100% 할인 이벤트 장애 부검

안녕하세요 인프런의 향로입니다. 인프런 서비스는 2022년 1월 3일 ~ 17일까지 지속적으로 서비스를 사용할 수 없는, 역대급 장애가 발생했습니다. 이번 장애 기간동안 정말 많은 분들의 질책을 들

tech.inflab.com

 

SQL이란?

SQL은 Structured Query Language의 약자입니다.

SQL은 데이터를 보다 쉽게 검색하고 추가, 삭제, 수정 같은 조작을 할 수 있도록 고안된 컴퓨터 언어입니다.

즉 사용자가 SQL을 통해 DB에 질의하면 결과를 알려주게 됩니다.

그리고 SQL에는 주로 DDL과 DML 그리고 DCL, TCL이 있는데요.

DDL?

DDL은 Data Definition Language의 약자입니다.

주로 데이터베이스 구조 또는 스키마(schema)를 정의하는 데 사용합니다.

주요 명령어와 용법은 아래와 같습니다.

  • CREATE : 새로운 데이터베이스를 생성하는데 사용합니다
  • ALTER: 이미 존재하는 데이터베이스에 대해 변경하구요
  • DROP : 이미 존재하는 데이터베이스를 삭제합니다.
  • TRUNCATE : 테이블에서 데이터를 DROP 후 CREATE한다.(초기화)

DML?

DML은 Data Manipulation Language의 약자입니다.

주로 데이터 베이스 관리나 조회 시 사용합니다.

주요 명령어와 용법은 아래와 같습니다.

  • INSERT : 테이블에 들어있는 데이터를 추가
  • SELECT : 테이블에 들어있는 데이터를 선택
  • DELETE : 테이블에 들어있는 데이터를 삭제
  • UPDATE : 테이블에 들어있는 데이터를 변경

DCL?

DCL은 Data Control Language의 약자입니다. 

데이터 베이스 접근권한(Control)을 부여하는 데 사용됩니다.

주요 명령어와 용법은 아래와 같습니다.

  • COMMIT : 트랜잭션의 작업 결과를 반영
  • ROLLBACK : 트랜잭션의 작업을 취소 및 원래대로 복구
  • GRANT : 사용자에게 특정 권한 부여
  • REVOKE : 사용자 권한 취소

SQL 테스트해보기

sql을 혼자서도 테스트 해볼수 있는데요.

w3schools를 통해서 하나씩 실습해보면서 배울 수 있습니다.

https://www.w3schools.com/sql/default.asp

 

SQL Tutorial

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

물론 영어라는 장벽이 있긴 하지만 하나씩 따라해보시면 기본적인 개념을 읽힐 수 있습니다.

그리고 사실 이외에도 HTML, CSS 등을 비롯하여 다양한 언어를 배울 수 있는데요.

코딩에 관심이 있으시다면 한번 들어가보셔서 사용해보시기 바랍니다.