* 데이터베이스란? 여러 사람들이 같이 사용할 목적으로 데이터를 담는 통
* 모든 데이터베이스는 CRUD에 해당하는 기능을 지원
- C (Create): 데이터의 생성을 의미
- R (Read): 저장된 데이터를 읽어오는 것을 의미
- U (Update): 저장된 데이터를 변경을 의미
- D (Delete): 저장된 데이터를 삭제하는 것을 의미
* SQL은 Structured Query Language의 약자
- 결국 데이터베이스에 요청 (Query)을 날려서 원하는 데이터를 가져오는 것을 도와주는 언어
* 테이블과 필드 구분
- 테이블: orders라는 엑셀 시트명 보이시죠? 테이블은 데이터가 담긴 엑셀 시트와 동일
- 필드: order_no, created_at, course_title, user_id, payment_method, email 각각이 필드
* Show tables(모든 테이블을 보여줘)
* Select 쿼리문은, 데이터베이스에서 '데이터를 선택해서 가져오겠다'는 의미
- Select * from orders(orders 테이블의 모든 필드를 선택해서 가져와)
- Select email from orders(orders 테이블에서 email 필드를 선택해서 가져와)
* Where 절은, Select 쿼리문으로 가져올 데이터에 조건을 걸어주는 것을 의미
- select * from orders
where payment_method = "kakaopay"
(orders 테이블에서 payment_method 필드가 kakaopay인 것만 가져와)
- select * from orders
where course_title = "앱개발 종합반"
and payment_method = "kakaopay"
(orders 테이블에서 coures_title 필드가 앱개발 종합반이고 payment_method 필드가 kakaopay인 것만 가져와)
* Where 절과 자주 같이쓰는 문법
- 같지 않음' 조건은 "!=" 로 걸 수 있어요
(select * from orders
where course_title != "웹개발 종합반" /
orders 테이블에서 coures_title 필드가 앱개발 종합반이 아닌 것만 가져와)
- '범위' 조건은 "between" 으로 걸 수 있어요
(select * from orders
where created_at
between "2020-07-13" and "2020-07-15" /
orders 테이블에서 created_at 필드가 2020-07-13부터 2020-07-15까지인 것만 가져와)
- '포함' 조건은 "in" 으로 걸 수 있어요
(select * from checkins
where week in (1, 3) /
checkins 테이블에서 1, 3주차인 것만 가져와)
- '패턴' 조건은 like 으로 걸 수 있어요
(select * from users
where email like '%daum.net' /
users 테이블에서 이메일 필드가 daum.net인 것만 가져와)
* 일부 데이터만 가져오기: Limit
- select * from orders
where payment_method = "kakaopay" limit 5
(orders 테이블에서 payment_method 필드가 kakaopay인 것만 가져오고 목록은 5개만 표시해)
* 중복 데이터는 제외하고 가져오기: Distinct
- select distinct(payment_method) from orders
(orders 테이블에서 payment_method 필드만 가져오는데 중복은 지워)
* 몇 개인지 숫자 세보기: Count
- select count(*) from orders
(orders 테이블의 데이터 갯수를 알려줘)
'스파르타코딩클럽' 카테고리의 다른 글
[내일배움단] 엑셀보다 쉬운 SQL - 4주차 (0) | 2023.01.14 |
---|---|
[내일배움단] 엑셀보다 쉬운 SQL - 3주차 (0) | 2023.01.12 |
[스파르타코딩클럽] 웹개발 종합반 - 2주차 (0) | 2023.01.12 |
[내일배움단] 엑셀보다 쉬운 SQL - 2주차 (2) | 2022.12.30 |
[스파르타코딩클럽] 웹개발 종합반 - 1주차 (2) | 2022.12.30 |