프로그래머스 데브코스 웹 풀사이클 8주차 2,3일차

geun·2024년 1월 3일
0

데브코스

목록 보기
29/79
post-thumbnail

MySQL

데이터베이스 시간 범위 구하기

시간 더하기

DATE_ADD(기준 일자, INTERVAL ~ )

SELECT DATE_ADD("2024-02-01", INTERVAL 1 MONTH);
-- 1달을 더한다(MONTH로만 1을 증가시킨다.) 
-- 결과 : "2024-03-01"
SELECT DATE_ADD(NOW(), INTERVAL 1 MONTH);
-- NOW()를 통해 현재 시간을 기준으로도 적용할 수 있다.
-- 결과 : "2024-02-04" (2024년 1월 4일 기준)

시간 빼기

DATE_SUB(기준 일자, INTERVAL ~ )

SELECT DATE_ADD("2024-02-01", INTERVAL 1 MONTH);
-- 1달을 더한다(MONTH로만 1을 감소시킨다.) 
-- 결과 : "2024-01-01"

시간 범위 지정 BETWEEN

BETWEEN을 이용하면 시간의 범위를 지정해 그 사이의 값들 만을 출력해줄 수 있다.
ex)

SELECT * FROM books WHERE pub_date BETWEEN DATE_SUB(NOW(), INTERVAL 1 MONTH) AND NOW()

DataBase Paging

Paging(페이징) : 데이터베이스에서 읽어와 화면에 출력할 때 한꺼번에 모든 데이터를 가져오지 않고, 출력될 페이지의 데이터만 나눠서 가져오는 것을 페이징(Paging)이라고 한다.

방법. LIMIT와 OFFSET 이용

SELECT * FROM books LIMIT 3 OFFSET 0;

0~3번째 컬럼을 출력해준다.

SELECT * FROM books LIMIT 3 OFFSET 3;

4~6번째 컬럼을 출력해준다.

다음과 같은 방법을 사용하면, 한페이지에 3개씩 출력해줄 수 있다.

  • LIMIT : 출력할 행의 수
  • OFFSET : 시작 지점(현재 페이지)
SELECT * FROM books LIMIT 8, 4;

다음과 같은 방식이면, LIMIT과 OFFSET을 한번에 적용할 수 도 있다. (9~12번째 컬럼출력)

오늘의 소감

오늘은 MySQL에서의 Join부분도 다루고, DATE의 합, 차를 구하고, LIMIT, OFFSET을 이용해 신간인지 아닌지를 프로젝트에 적용해봤다. 점점 기능이 하나하나 많아지는게 레고를 완성하는 기분도 들고 재밌어진다. 이 프로젝트를 완성하고 나면, 다른 프로젝트는 스스로 만들수 있도록 열심히 공부해야겠다.

0개의 댓글