공동 작업을 위해 데이터를 담는 통
통상적으로 모든 데이터베이스는 CRUD에 해당하는 기능을 지원
C (Create): 데이터의 생성
R (Read): 저장된 데이터를 읽어오는 것
U (Update): 저장된 데이터를 변경
D (Delete): 저장된 데이터를 삭제
다량의 데이터의 효과적인 저장/수정/사용 > 작업 속도 향상, 충돌 시 에러 띄우는 기능 등
원하는 정보가 담긴 테이블을 찾는 게 중요
SQL문은 길어질수록 헷갈림 > 줄을 잘 맞춰 쓰기!
문자열은 따옴표 안에 입력. 숫자는 따옴표 불필요.
where created_at between '2020-07-13' and '2020-07-15';
쿼리 입력창이 없을 때: 좌 상단 양피지 모양 클릭 > New Script
쿼리 실행:
ctrl
+ Enter
DB의 테이블 목록 보기:
show tables;
위 사진을 예로 들면, slect * from users u와 나머지 문단으로 구분 가능
1) 두 문단 중 아무 곳에나 커서를 두고 쿼리 실행
2) 둘 중 커서가 있는 곳의 쿼리가 실행됨
테이블: 표. 엑셀 시트와 동일
필드: =column. 각 열의 제목
*
) 가져오기:select * from 테이블명;
select 필드명 from 테이블명;
Select로 가져올 데이터에 조건을 걸어주는 것( ~만
가져와라)
구성
(1) 원하는 테이블
(2) 조건을 걸 필드
(3) 조건
=
조건; !=
조건;필드b의 조건c만
가져와라:select * from 테이블a
where 필드b = '뽑아낼 필드 내용 c';
1) '뽑아낼 필드 내용 c'가 따옴표 안에 있는 이유:
필드명이나 테이블명이 아닌 문자열로 인식시키기 위함.
따옴표를 쓰지 않으면 c를 컬럼(필드)으로 인식.
2) '=' 빼먹지 않도록 주의
>
범위;<
범위;where point > 20000;
포인트 필드에서 20000점 초과
>=
범위;<=
범위;where point >= 20000;
포인트 필드에서 20000점 이상
연결: and
이면서(and)
결제수단이 CARD인 주문건만 뽑기select * from orders
where course_title = '웹개발 종합반' and payment_method = 'CARD';
1) 필드 내 데이터가 'CARD'처럼 대문자일 경우,
'card'가 아닌 'CARD'로 맞춰 써 주는 것이 좋다.
범위: where 필드명 between
A and
B;
select * from orders
where created_at between "2020-07-13" and "2020-07-15";
1) 낮은 값 먼저 입력. 가령, 7월 13일 부터 입력.
2) 날짜의 경우, 13일과 14일의 데이터를 보고 싶다면
범위를 13일과 15일 사이로 주어야 한다.
3) 2000~3000 의 숫자 범위를 보고 싶을 땐
between 2000 and 3000 (o)
between 2000 and 3001 (x)
포함: where 필드명 in
A;
select * from checkins
where week in (1, 3);
패턴(문자열 규칙): where 필드명 like
'%
ABC';
%
앞에 무엇이 있든 ABC로 끝나는 것
예) 다음 (daum) 이메일을 사용하는 유저만 보기
select * from users
where email like '%daum.net';
like
와 %
가 함께 쓰이는 예- where email like 'a%': email 필드값이 'a로 시작'하는 모든 데이터
- where email like '%a' email 필드값이 'a로 끝'나는 모든 데이터
- where email like '%co%' email 필드값에 'co를 포함'하는 모든 데이터
- where email like 'a%o' email 필드값이 'a로 시작하고 o로 끝'나는 모든 데이터