고양이와 코딩
[웹 풀사이클 데브코스 TIL] - 8주차 Day 3 - SQL 함수의 활용, 데이터베이스 페이징 본문
DATE_ADD 함수 활용 : 시간 더하기
DATE_ADD 함수는 지정된 날짜 또는 시간에 특정 시간 간격을 더하는 데 사용되는데요,
예를 들어 현재 날짜와 시간에서 3일을 더하려면 다음과 같이 사용할 수 있습니다!
SELECT DATE_ADD(NOW(), INTERVAL 3 DAY) AS added_time;
: 현재 날짜와 시간에 3일을 더한 값을 반환
SELECT DATE_ADD("2024-01-04", INTERVAL 1 MONTH);
: 지정 날짜에서 한 달을 더한 값을 반환
DATE_SUB 함수 활용 : 시간 빼기
DATE_SUB 함수는 지정된 날짜 또는 시간에서 특정 시간 간격을 뺄 때 사용됩니다!
예를 들어 현재 날짜와 시간에서 일주일을 뺀 값을 구하려면 다음과 같이 상요할 수 있습니다
SELECT DATE_SUB(NOW(), INTERVAL 1 WEEK) AS subtracted_time;
: 현재 날짜와 시간에서 일주일을 뺀 값을 반환
SELECT * FROM books WHERE pub_date BETWEEN DATE_SUB(NOW(), INTERVAL 1 MONTH) AND NOW();
: 현재 날짜를 기준으로 한달 이내에 들어온 책(신간) 찾기
데이터베이스 페이징을 해보자 (Pagination)
현재 구현하고 있는 book shop 프로젝트에서, 도서가 100권,, 500권.... 오천만권.. 이렇게 많아진다면 전체 도서 조회를 할 때
너무 많은 데이터가 한번에 보여지겠죠 ? (렌더링 느리고,, 프론트엔드 대환장 하고.. Ꙩ_Ꙩ)
그래서 내가 지정 한 만큼만 데이터를 보여주는것이, 페이지네이션 입니다 !
== 쿼리 실행 결과를 일정한 페이지 단위로 제공하는 프로세스다
이렇게 페이지네이션을 수행하면, 사용자 경험을 향상시키고 성능을 최적화 하는데 큰 도움이 됩니다!
페이징을 구현하는 데는 주로 "LIMIT" || "OFFSET" 절을 사용합니다.
"LIMIT"은 가져올 레코드의 최대 수를 정하고, "OFFSET"은 시작 위치를 나타냅니다 !
SELECT * FROM books LIMIT 3 OFFSET 0;
id값이 이런 이유는,, 제가 AI를 믿고.. 아이디를 지정하지 않았더니 이렇게 되었네요 (왜 이러는지는 모름 ㅎㅎ)
SELECT * FROM books LIMIT 8, 4;
이렇게도 쓸 수 있는데요, 이건 8번째부터 4개씩 보여달라는 의미입니다!
'데브코스 TIL' 카테고리의 다른 글
[웹 풀사이클 데브코스 TIL] 9주차 Day 3 - 비동기 처리 방법 (1) | 2024.01.10 |
---|---|
[웹 풀사이클 데브코스 TIL] 9주차 Day 2 - 주문하기 flow 정리 (1) | 2024.01.09 |
[웹 풀사이클 데브코스] 8주차 Day 2 - 쿼리스트링을 사용해 하나의 엔드포인트로 기능 분리하기 (0) | 2024.01.03 |
[웹 풀사이클 데브코스 TIL] 8주차 Day 1 - API 설계, crypto를 사용한 암호화 (1) | 2024.01.02 |
[웹 풀사이클 데브코스] 7주차 Day 5 - API 점검, Express-generator (2) | 2023.12.29 |