[수업 목표]
데이터베이스란? 여러 사람들이 같이 사용할 목적으로 데이터를 담는 통이라고 생각하면 됩니다.
원하는대로 데이터를 저장하고 사용하기 위해서는 다양한 기능이 있어야겠죠? 그래서 통상적으로, 모든 데이터베이스는 CRUD에 해당하는 기능을 지원해요.
C (Create): 데이터의 생성을 의미합니다
R (Read): 저장된 데이터를 읽어오는 것을 의미해요
U (Update): 저장된 데이터를 변경!
D (Delete): 저장된 데이터를 삭제하는 것을 의미해요
자, 그럼 SQL은 왜 필요할까요?
데이터를 읽어오는 과정인 "R (Read)"를 엄청나게 편하게 만들어줍니다. 그리고, 데이터를 손쉽고 깔끔하게 정리/분석하는 기능도 지원한답니다!
SQL은 Structured Query Language의 약자인데요, 결국 데이터베이스에 요청 (Query)을 날려서 원하는 데이터를 가져오는 것을 도와주는 언어라는 의미에요!
쿼리(Query)문이란? 쿼리는 질의를 의미한다. 데이터베이스에 명령을 내리는 것을 의미합니다.
여기서 Select 쿼리문은, 데이터베이스에서 '데이터를 선택해서 가져오겠다'는 의미입니다.
Select 쿼리문은 1) 어떤 테이블에서 2) 어떤 필드의 데이터를 가져올지 로 구성됩니다.
Where 절은, Select 쿼리문으로 가져올 데이터에 조건을 걸어주는 것을 의미합니다.
select 쿼리문에 where 절을 함께 쓰기 위해서는 (1) 원하는 테이블과 (2) 조건, 이 두 가지만 기억하면 됩니다!
[꿀팁🍯] 이렇게 쿼리를 작성하면 편해요!
1) show tables로 어떤 테이블이 있는지 살펴보기
2) 제일 원하는 정보가 있을 것 같은 테이블에 select * from 테이블명 쿼리 날려보기
3) 원하는 정보가 없으면 다른 테이블에도 2)를 해보기
4) 테이블을 찾았다! 조건을 걸 필드를 찾기
5) select * from 테이블명 where 조건 이렇게 쿼리 완성!
['같지 않음' 조건 걸어보기]
'같지 않음' 조건은 != 로 걸 수 있습니다.
잠깐 상식!
'!=' 에서 ! (느낌표)는 부정 (not)을 의미합니다. '='는 같음을 의미하니, '!='는 같지 않음이겠죠!
['범위' 조건 걸어보기]
'범위' 조건은 between 으로 걸 수 있어요.
select * from orders
where created_at between "2020-07-13" and "2020-07-15";
이렇게 하면 7월 13일, 7월 14일 주문데이터만 나옵니다.
['포함' 조건 걸어보기]
'포함' 조건은 in 으로 걸 수 있어요.
select * from checkins
where week in (1, 3);
['패턴'(문자열 규칙) 조건 걸어보기]
'패턴' 조건은 like 으로 걸 수 있어요.
select * from users
where email like '%daum.net';
[꿀팁🍯] Like의 다양한 사용법
Like는 패턴으로 조건을 거는 문법으로, 사용법이 아주 다양하답니다!
이외에도 여러 문법이 있는데, 그때그때 필요한 것을 찾아서 쓰면 된다.( 구글링 'how to use like in sql')