1주차에서는 엑셀에서 표로 작성된 데이터를 필터를 거쳐서 필요한 부분만 확인하는 거와 비슷한 느낌을 받는다.
데이터베이스에서 '데이터를 선택해서 가져오겠다'는 의미
1) 어떤 테이블에서
2) 어떤 필드의 데이터를 가져올지 로 구성
show tables #데이터베이스에서 테이블을 보는 명령어
ctrl + enter #실행 명령어
select * from orders; #오더에 있는 데이터를 전부 선택
# select = 선택
# * = 전부
# from = 어디서부터
# orders = 해당 테이블명 (가변)
실행시
전부 입력된 모습
select created_at, course_title, payment_method, email from orders;
# created_at, course_title, payment_method, email = 각 필드명
실행시
해당 필드 데이터만 가져온다
Select 쿼리문으로 가져올 데이터에 조건을 걸어주는 것을 의미
select * from orders
where payment_method = "kakaopay";
# oreder 데이터 중
# payment_method필드에서 kakaopay에 해당하는 데이터만 가져오는 조건
payment_method 필드에서 kakaopay 데이터만 가져온 모습
엑셀의 필터와 같다
조건이 여러개 일 시 AND
조건이 A 또는 B일 시 OR
조건이 아닐 시 !=
조건이 범위에 해당 할 시 BETWEEN
조건이 포함될 시 IN
조건이 패턴'문자열' 일시 LIKE
and 조건 사용 예시
select * from orders
where course_title = "웹개발 종합반" and payment_method = "CARD";
or 조건 사용예시
select * from orders
where course_title = "웹개발 종합반" or payment_method = "CARD";
!= 조건 사용예시
select * from orders
where course_title != "웹개발 종합반";
between 조건 사용예시
select * from orders
where created_at between "2020-07-13" and "2020-07-15";
in 조건 사용예시
select * from checkins
where week in (1, 3);
like 조건 사용예시
select * from users
where email like '%daum.net';
# tip '%~~'은 앞에 열을 포함한 ~~을 말한다
일부 데이터만 가져오기: Limit
중복 데이터는 제외하고 가져오기: Distinct
몇 개인지 숫자 세보기: Count
limit 예시
select * from orders
where payment_method = "kakaopay"
limit 5;
#5개씩만 보여준다 많은 데이터로 인해 렉유발을 막아준다
distinct 예시
select distinct(payment_method) from orders;
#중복된 데이터를 지워준다
count 예시
select count(*) from orders
#해당 데이터가 몇개 인지 알려준다
Distinct와 Count를 같이 사용시
SELECT count(distinct(name)) from users;
#중복되는거를 제외하고 몇개인지 알려준다
데이터베이스(DB)
여러 사람들이 같이 사용할 목적으로 데이터를 담는 통
SQL
Structured Query Language의 약자로 데이터베이스에 요청 (Query)을 통해 원하는 데이터를 가져오는 것을 도와주는 언어라는 의미
C(Create): 데이터의 생성을 의미
R (Read): 저장된 데이터를 읽어오는 것을 의미
U (Update): 저장된 데이터를 변경
D (Delete): 저장된 데이터를 삭제하는 것을 의미