개발일지: 이번주에 내가 배운 것을 글로 기록하는 것!
SQL은 반복적으로 써보면서 감과 원리를 익혀가는 게 중요!
DB와 SQL이 필요한 이유는?
- 데이터가 많지 않을 처음엔 엑셀로 관리해도 괜찮지만, 많아질 수록 그게 어려움. SQL을 활용하면 방대한 양의 데이터를 저장할 수 있고, 그 데이터 중에서 내가 원하는 데이터를 굉장히 신속하게 가져올 수 있다.
데이터베이스란?
- 여러 사람들이 같이 사용할 목적으로 데이터를 담는 통
(책장 -> 책을 정리해 두고 나중에 꺼내보기 위한 곳)
- 원하는 대로 데이터를 저장하고 사용하기 위해 CRUD에 해당하는 기능을 지원함
1) Create: 데이터 생성
2) Read: 저장된 데이터를 읽어오기
3) Update: 저장된 데이터를 변경
4) Delete: 저장된 데이터를 삭제
* 이번 강의에서는 Read 부분만 공부할 것! :)
★ 먼저 DBeaver(디비버?)라는 프로그램을 다운로드 하기!
다운로드는 https://dbeaver.io/download/ 여기에 접속 후, Windows사용자는 (installer), Mac은 (dmg) 라고 되어있는 링크를 클릭하여 DBeaver를 다운로드하면 된다.
MySQL > 다음 > 서버 호스트에 스파르타코딩클럽 코드스니펫이 제공하는 걸 복붙 (sparta.cbt9ceqjwlr9.ap-northeast-2.rds.amazonaws.com) > 다른 곳에도 시키는 대로 써줌
👉 쿼리(Query)문이란? 쿼리는 질의를 의미하죠. 데이터베이스에 명령을 내리는 것을 의미합니다.
여기서 Select 쿼리문은, 데이터베이스에서 '데이터를 선택해서 가져오겠다'는 의미입니다.
테이블 & 필드:
- 테이블: 데이터가 담겨져 있는 표
- 필드: 카테고리
orders 테이블의 데이터 가져와보기
select * from orders;
orders 테이블의 특정 필드만 가져와보기
select created_at, course_title, payment_method, email from orders;
예시1)
- orders 테이블에서 결제수단이 카카오페이인 데이터만 가져와!
-> select * from orders where payment_method = 'kakaopay'
작은 따옴표를 꼭 붙여주어야 함!
문자열이 아닌 orders, payment_method와 같은 테이블은 지칭하는 개념이지만, kakaopay는 필드이기 때문에 작은 따옴표가 없으면 오류 발생.
SQL 줄 맞추는 건 회사마다 다르기 때문에 맞춰서 쓰면 됨.
예시2)
- 포인트가 5000점 이상인 고객 데이터만 가져와!
-> select * from point_users where point > 5000
예시3)
- 앱개발 종합반 중 결제수단이 카드인 유저 데이터만,
-> select * from orders where course_title = '앱개발 종합반' and payment_method = 'CARD'
필드 영문을 대문자로 쓰는 게 나중에 볼 때 편함. 소문자로 써도 상관은 없다.
퀴즈1)
- 포인트가 20000점보다 많은 유저만 뽑아보기
-> select * from point_users where point > 20000
퀴즈2)
- 성이 황씨인 유저만 뽑아보기
-> select * from users where name = '황**'
퀴즈3)
- 웹개발 종합반 이면서 결제수단이 카드인 유저
-> select * from orders where course_title = '웹개발 종합반' and payment_method = 'CARD'
Tip 👉 like와 %를 활용하면 특정 문자열이 들어간 데이터를 찾고자 할 때 유용하다.
// 1-5. 같이 삽질해보기 파트
에러를 만나더라도 그 에러를 해결해 나가려는 노력이 모여서 실력이 되는 것!
에러 메시지를 읽어보고 어디가 어떻게 잘못 되었는지 파악해보기 위한 노력을 해보는 게 중요.
Quiz 1. 성이 남씨인 유저의 이메일만 추출하기
select email from users
where name = '남**'
Quiz 2. gmail을 사용하는 2020/07/12~13에 가입한 유저를 추출하기
select count(*) from users
where email like '%gmail.com'
and created_at BETWEEN '2020-07-12' and '2020-07-14'
[1주차 마무리]
숙제: 네이버 이메일을 사용하면서, 웹개발 종합반을 신청했고, 결제는 kakaopay로 이루어진 주문 데이터 추출하기
select * from users
where email like '%naver.com'
and course_title = '웹개발 종합반'
and payment_method = 'kakaopay'
스파르타코딩클럽에서 SQL 공부하기!
👇친구 초대 이벤트 링크
https://spartacodingclub.kr/?f_name=%EC%A1%B0%EB%AF%BC%EC%A7%80&f_uid=61c51b707b3272c573ea69a2
'기록 > 하찮은 개발일지' 카테고리의 다른 글
SQL 개발일지 (3) - Join에 대해 배워볼 차례! (2) | 2022.02.24 |
---|---|
SQL 개발일지 (2) - 데이터를 활용하여 통계 구하기 (0) | 2022.02.23 |
JQuery란? 남이 만들어둔 미리 작성된 자바스크립트 코드! (0) | 2022.02.13 |
자바스크립트는 자바랑은 전혀 관계가 없는 거였다! (0) | 2022.02.09 |
웹개발 종합반 수강 2일차, CSS 기초 연습해보기 (0) | 2022.02.08 |