본문 바로가기

MySQL4

[AWS x MySQL] AWS RDS 프리티어 생성하기 AWS에서 무료로 DB이용하기! 공부목적으로 서버에 DB를 설치하고 싶을 때, AWS RDS 프리티어를 이용하여 무료로 AWS RDS를 사용할 수 있습니다. 보통 공부목적이나 개인 프로젝트용으로 많이 활용하게 되기 때문에 과금되지 않도록 설정하여 데이터베이스를 생성해보겠습니다. AWS에서 RDS 서비스를 찾아줍니다. RDS 서비스에 들어왔다면 데이터베이스 생성을 클릭해줍니다. MySql을 선택해줍니다. 오픈소스인 MariaDB나 PostgreSQL도 프리티어가 가능합니다! 프리티어를 골라줍니다. 저는 사용자 이름은 root로 설정해주었습니다. 이전에는 t2.micro만 프리티어에서 사용이 가능했지만 현재는 db.t3.micro와 db.t4g.micro도 프리티어에서 사용할 수 있습니다. 할당된 스토리지가.. 2023. 5. 12.
[프로그래머스] LV.5 상품을 구매한 회원 비율 구하기 (MySQL) https://school.programmers.co.kr/learn/courses/30/lessons/131534?language=mysql SELECT YEAR(B.SALES_DATE) AS YEAR, MONTH(B.SALES_DATE) AS MONTH, COUNT(DISTINCT(B.USER_ID)) AS PUCHASED_USERS, ROUND( COUNT(DISTINCT(B.USER_ID)) / ( SELECT COUNT(1) FROM USER_INFO WHERE JOINED 2023. 4. 21.
[MySQL] 날짜 더미데이터 만들기 WITH문 재귀를 사용하여 날짜 더미데이터를 만들 수 있다. WITH RECURSIVE A AS( SELECT 0 AS LEVEL UNION ALL SELECT 1+A.LEVEL FROM A WHERE A.LEVEL < ( SELECT DATEDIFF('2023-12-31', '2023-01-01') #종료날짜, 시작 날짜 ) ) SELECT ADDDATE('2023-01-01', INTERVAL LEVEL DAY) #시작날짜 FROM A; 위 쿼리를 실행하면 다음과 같은 결과를 조회할 수 있다. 서버에서 WITH를 사용할 수 없을 때 다음과 같은 방법으로도 날짜 더미데이터를 조회할 수 있다. (1년 후 날짜를 기준으로 9999일 이전 날짜까지만 조회가능) SELECT DATE_FORMAT(D.Date,.. 2023. 4. 18.
[MySQL] UPSERT(UPDATE + INSERT) 쿼리 UPSERT 쿼리는 UNIQUE KEY값이 없으면 INSERT 있으면 업데이트를 실행하는 쿼리입니다. 예를들어 id필드가 유니크 키일때 다음과 같은 UPSERT 쿼리를 보냅니다. INSERT INTO TABLE (id, col1, col2) VALUES (1, '값1', '값2') ON DUPLICATE KEY UPDATE col1 = '값1', col2 = '값2' 만약 테이블에 id가 1인 값이 존재하지 않는다면 INSERT 쿼리로 처리되고, id가 1인 값이 존재한다면 UPDATE 쿼리로 처리됩니다. IF문을 사용한다면 SELECT를 통해 해당 값의 존재 여부를 체크 후 INSERT를 할지 UPDATE를 할지 결정하여야 합니다. 반면 UPSERT는 불필요한 조회를 줄이고 쿼리를 간결하게 표현할 수 .. 2023. 4. 13.
반응형