mysql 59

[Programmers] 흉부외과 또는 일반외과 의사 목록 출력하기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/132203 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 개발환경: Programmers IDE 지적, 조언, 질문 환영합니다! 질문 남겨주세요~

[MySQL + MariaDB] 날짜를 기준으로 파티셔닝

개요 분 단위로 쌓이는 통계 정보를 저장하는 테이블을 생성했고 데이터가 엄청 많이 쌓일 것이기 때문에 월별로 테이블 파티셔닝을 진행했습니다. 기존에 작성한 PostgreSQL 테이블 파티셔닝과 살짝 다른 점이 있어 별도로 정리해봤습니다. https://jaimemin.tistory.com/1913 [PostgreSQL] 월별로 DB 파티셔닝 예제 개요 제가 담당하고 있는 파트에서 매일 몇 만 건씩 데이터가 쌓이는 DB가 있었습니다. DB에 너무 많은 데이터들이 쌓일 경우 조회 성능이 떨어질 수 있으므로 월별 DB 파티셔닝을 진행했고 진행 jaimemin.tistory.com 1. 파티셔닝 지원 확인 우선, 현재 MySQL 버전이 파티셔닝을 지원하는지 확인을 해야 합니다. 제가 알기로는 MySQL 5.7 ..

[DEV] 기록 2022.07.21

[MySQL] 서버 timezone 한국으로 변경하기

개요 로컬 데이터베이스 테이블 내 datetime 타입 칼럼에 NOW()를 넣으면 한국 시간 기준이 아닌 UTC+0 기준으로 들어갔습니다. (우리나라는 UTC+9) 다행히 jwkim96님 게시글에 서버 타임존을 변경하는 방법이 자세히 설명되어있었고 해당 내용을 간단하게 정리해보겠습니다. https://jwkim96.tistory.com/23 [MySQL] mysql server timezone 한국으로 설정하기. timezone이란? 한국은 표준시(대한민국 표준시 - KST)를 하나의 시간대(timezone)만 사용하지만 미국처럼 영토가 넓은 국가들은 timezone이 여러개 있습니다. 또한 각 타임존 역시 2종류로 나누어 집니다. jwkim96.tistory.com Timezone 변경 방법 1. 아래..

[DEV] 기록 2022.07.21

[SpringBoot + MyBatis] TypeHandler 통해 JSON List varchar로 저장

개요 api 응답으로 json list가 오는데 이를 MariaDB varchar형 칼럼에 저장하려고 하니 원하는 대로 안됐습니다. 열심히 검색한 결과 이를 위해서는 커스텀 TypeHandler를 정의해야했고 TypeHandler를 적절히 구현하면 JSON 형태의 문자열을 그대로 DB에 저장하고 조회할 수 있었습니다. 저는 keichee님 블로그를 보고 위 문제를 해결할 수 있었으며 하기 내용도 keichee님이 작성하신 내용과 거의 동일하므로 해당 블로그를 방문하시는 것을 추천드립니다! 1. DTO 구조 DTO 구조를 보면 ExampleWrapper 클래스가 ExampleJson 배열을 필드로 두고 있고 여기서 ExampleJson 클래스가 json 형태로 DB에 저장될 정보입니다. 2. TypeHan..

[DEV] 기록 2022.04.13

[MySQL] 날짜 차이 구하는 함수

개요 화면에 api 요청 시간과 api 응답 시간 그리고 소요시간(응답 시간 - 요청 시간)을 뿌려줘야 하는데 소요시간을 서버단에서 계산하지 않고 api 응답이 오면 응답 시간과 함께 바로 duration이라는 칼럼에 소요시간을 저장하고 싶었습니다. MySQL 함수를 찾아본 결과 제가 원하는 기능을 수행하는 함수는 DATEDIFF와 TIMESTAMPDIFF가 있었습니다. 이번 게시글에서는 이 두 함수에 대해 간단히 알아보겠습니다. 1. DATEDIFF DATEDIFF(from, to) * to - from을 계산해주는 함수 (일 단위로 고정) * ex) from: 2022-04-01, to: 2022-04-05 -> 4를 반환 2. TIMESTAMPDIFF TIMESTAMPDIFF(unit, from, ..

[DEV] 기록 2022.04.05

[Docker] Mac OS MySQL 컨테이너 띄우는 절차

개요 기존 게시글에서는 Window OS에서 Docker에 MySQL 컨테이너를 띄우는 절차를 정리했습니다. https://jaimemin.tistory.com/2036 [Docker] Window에서 MySQL 컨테이너 올리는 절차 개요 스프링 배치를 학습하는데 MySQL 컨테이너를 도커를 통해 띄워야 했습니다. 저처럼 도커에 익숙하지 않을 경우 상당히 고생할 수 있으므로 방법을 간단히 정리해보겠습니다. 그리고 저는 Mac jaimemin.tistory.com 사내 개발용 PC는 Macbook이므로 Mac OS에서도 MySQL 컨테이너를 띄우는 절차를 정리해보겠습니다. MySQL 컨테이너 올리고 테이블 생성하는 절차 도커 설치 https://hub.docker.com/editions/community/..

[DEV] 기록 2022.01.25

[Docker] Window에서 MySQL 컨테이너 올리는 절차

개요 스프링 배치를 학습하는데 MySQL 컨테이너를 도커를 통해 띄워야 했습니다. 저처럼 도커에 익숙하지 않을 경우 상당히 고생할 수 있으므로 방법을 간단히 정리해보겠습니다. 그리고 저는 Mac OS가 아닌 Window OS에서 진행했다는 점을 미리 알립니다. Mac OS 설정 방법은 아래 게시글을 참고바랍니다. https://jaimemin.tistory.com/2039 [Docker] Mac OS MySQL 컨테이너 띄우는 절차 개요 기존 게시글에서는 Window OS에서 Docker에 MySQL 컨테이너를 띄우는 절차를 정리했습니다. https://jaimemin.tistory.com/2036 [Docker] Window에서 MySQL 컨테이너 올리는 절차 개요 스프링 배치를 학습하.. jaimem..

[DEV] 기록 2022.01.22

[Spring] MySQL 8.x++ 버전 public key retrieval is not allowed 에러

[개요] Spring 프로젝트를 실행하기 위해 서버를 가동하는데 아래와 같은 에러가 발생했습니다. Public Key Retrieval is not allowed 검색을 해보니 위 문제는 MySql 버전이 8.X 이상인 경우 발생한다고 합니다. [해결방법] jdbc url에 아래와 같은 문장을 추가해주면 해결이 됩니다. allowPublicKeyRetrieval=true&useSSL=false 예시를 들자면, 아래와 같습니다. jdbc:mysql://localhost:3306/web_customer_tracker?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC"

[DEV] 기록 2021.01.05

Spring Boot Intellij IDEA MySQL 연동 에러 발생할 경우

에러 메시지: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Intellij IDEA에서 H2 데이터베이스가 아닌 MySQL 데이터베이스와 연동할 경우 위와 같은 메시지가 출력되며 에러가 발생하는 경우가 있습니다. 이를 해결하기에 앞서 우선 아래와 같은 설정이 완료되었는지 확인해야합니다. build.gradle application.properties 위와 같이 설정이 되었음에도 불구하고 에러가 발생한다면 우선 우측의 Database 탭을 누르고 + 버튼 -> Data Source -> MySQL 클릭 후 커넥션 정보를 확인한 뒤 Test Conn..

Spring 2019.10.03

SQL 고득점 Kit DATETIME에서 DATE로 형 변환

문제 출처: https://programmers.co.kr/learn/courses/30/lessons/59414 코딩테스트 연습 - DATETIME에서 DATE로 형 변환 | 프로그래머스 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALS programmers.co.kr 정해는 아니지만 LEFT 예약어..