🌱 SQL 정의
🌱 SQL 명령어 및 문법
Data Base를 배우기 전에는 Server에 in-memory상에 저장하고, 클라이언트의 HTTP로 요청이 들어왔을 때, 서버에서 응답을 해줬었다. in-memory는 서버가 돌아가고 있을 때만 유효한 값이므로 서버가 꺼지면 임시저장되었던 자료들도 같이 사라졌었다.
그래서 영속성 혹은 지속가능한(persistent) 저장공간과 프로그램이 필요하게 되었고, 이에 database 관리 시스템인 MySQL등 여러 소프트웨어들이 등장하기 시작하였다.
"MySQL은 전세계에서 가장 많이 쓰이는 오픈 소스의 관계형 데이터베이스 관리 시스템이다. 다중 스레드, 다중 사용자 형식의 구조질의어 형식의 데이터베이스 관리 시스템으로서 오라클이 관리 및 지원하고 있다." -위키백과-
SQL은 DB 관리 시스템의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다. 관계형 데이터베이스 관리 데이터베이스 관리 시스템에서 자료의 검색과 관리, 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안되었다. -위키백과-
SQL은 Structure Query Language의 줄임말로, 말그대로 구조화 된 Query언어이다.
Query를 직역하면 질문, 질의문이다. 우리가 네*버 검색창에 검색어를 입력하는 것을 생각하면 이해하기 쉽다.
사실 데이터베이스 외에 in-memory 저장방식이 있고, 또 File I/O의 방식도 있다.
하지만 이 둘은 저장된 자료들을 관리하기에는 데이터베이스보다 비효율적인 단점을 가지고 있다. 아래에서 살펴보자.
정리를 하면 검색 = 필터링 = 쿼리
라고 표현할 수 있다.
즉, SQL은 데이터베이스에서 데이터를 저장, 조작 및 검색하기 위한 표준 언어이고 더 쉽게 말하면 구조화 된 쿼리문이다. 좀 더 쉽게 말하면 필터링하기 최적화된 엑셀이다!
자, 그럼 쿼리(Query)를 이용해서 원하는 데이터를 가져오려면 아래와 같은 문법이 필요하다.
살펴보도록 하자.
부트캠프에서는 새로운 언어를 배우게 될 것이라 언급해 역서 개발 공부는 무궁무진하고 끝이 없는 영역이구나라는 생각과 함께 걱정이 먼저 앞섰다.
하지만 SQL의 문법은 그렇게 거부감이 있지는 않았다.
내가 배워야 할 기본적인 문법은 아래와 같이 작성을 하면 된다.
여기서 알아야할 점은 쿼리 명령어는 대,소문자를 가리지 않는다라는 것이다.
즉, SELECT
와 select
는 동일하다.
하지만 가독성을 위해 명령어를 대문자로 작성해주는 것이 올바를 것 같다.
그리고 세미콜론(;) 반드시 찍어주기!!!!
다음 사진은,
위의 코드를 작성하면 원하는 쿼리를 아래 사진과 같이 데이터베이스로 날리는 구조이다.
아래 명령어만 익혀도 정상적인 문법을 활용한다면 쿼리를 정상적으로 날릴 수 있다.
이 외, 아래와 같이 명령어들이 있다.
아래 주소를 참고해 적용해나가면서 공부해보고
위의 문법과 명령어와 관련된 퀴즈들은 https://www.w3schools.com/sql/default.asp에서 공부하면서 내 것으로 만들어보자!!!!