목록분류 전체보기 (129)
YS's develop story
먼저 COUNT문을 정리해 봤습니다 아래와 같은 ThemeReview라는 테이블이 있습니다. 아래와 같은 쿼리문을 통해 userId가 1인 사용자가 작성한 리뷰가 몇 개인지, 이 사용자가 작성한 리뷰 중 escapeSuccess가 Y인 리뷰가 몇 개인지 확인할 수 있습니다. select count(*) as reviewCount, count(case when escapeSuccess = 'Y' then 1 end) as 'successCount' from ThemeReview where userId = '1'; 아래와 같이 여러 개의 조건을 만족할 때만 개수를 세도록 할 수도 있습니다. useHintCount가 0이고 escapeSuccess가 Y일 때만 개수를 세는 것 이죠 select count(*)..
DELETE문을 활용하여 테이블에 있는 특정 데이터를 삭제해 봅시다! 아래와 같이 CafeReview라는 테이블이 있습니다. 여기서 reviewId가 4번인 데이터를 삭제하고 싶습니다. 그러기 위해 DELETE문을 활용하여 아래와 같은 쿼리를 작성해 줍니다. delete from CafeReview where reviewId = 4; 위 쿼리를 실행하게 되면 아래와 같이 reviewId가 4번인 데이터가 삭제된 것을 확인할 수 있습니다!
UPDATE문을 활용해서 테이블 칼럼의 내용을 수정해 봅시다. 아래와 같이 CafeReview라는 테이블이 있습니다. 아래와 같은 쿼리 작성을 통해 CafeReview테이블에 있는 데이터 중 reviewId가 2인 데이터의 content, cafeStar, UpdatedAt 값을 모두 변경할 것입니다.! update CafeReview set content='친절! 서비스 굳 !' , cafeStar=5,updatedAt=current_time where reviewId = '2'; 쿼리를 실행 후, CafeReview라는 테이블을 다시 확인하게 되면 아래와 같이 데이터 정보가 바뀝니다!! 추가적으로..... TopListBookMark라는 테이블에서 status 이라는 컬럼의 값이 1이라면 0으로 변경..
MySQL 위도 경도를 활용해서 거리를 계산하는 구문을 작성해 봅시다. 위도, 경도를 저장하기 위한 자료형으로 decimal이 적합합니다. decimal(18,10)에서 18은 전체 자릿수, 10은 소수점 자릿수를 뜻합니다. 즉 소수점 10자리까지 숫자를 표현한다는 이야기입니다. Cafe라는 테이블에 cafeLatitue 칼럼에 목표지점 위도를 cafeHardness 칼럼에 목표지점 경도를 저장하고 있습니다. (아무 생각 없이 경도를 영어사전에 치고 나온 결과를 변수로 지정했는데 Hardness는 딱딱한 정도를 나타내는 뜻인 '경도'의 영단어입니다.... 여기서 사용하는 뜻인 경도는 영어로 longitude가 맞습니다... 아무 생각 없이 하다가 이런 부끄러운 실수를 했네요... ) User라는 테이블에..
MySQL 한글 입력이 가능한 데이터 베이스 생성하기 MySQL에 데이터 베이스를 생성할 때 특정 설정을 해주지 않으면 한글을 입력할 때 오류가 발생하곤 합니다. 다음과 같이 데이터베이스를 생성하면 됩니다. create database (데이터베이스이름) default character set utf8 collate utf8_general_ci;
MySQL문법은 처음이기에.... as, left join, timestampdiff 및 case when, current_timestamp()를 활용한 내용을 나중에 기억하기 위해 정리해 봤습니다. As 활용 as를 활용해서 Event라는 테이블을 s로 지정하고 보다 간결하게 쿼리를 작성할 수 있습니다. LEFT JOIN 활용 Join 문을 활용하여 Evnet테이블과 newCafe테이블의 정보를 한 번에 제공하도록 할 수 있습니다. where은 eventIsDeleted = 'N'인 테이블만 표시하겠다는 조건문입니다. Join문을 아래와 같이 여러 개 사용할 수도 있습니다. timestampdiff 및 current_timestamp() 활용 2021-01-17시간을 기준으로 지금 시간은 얼마나 흘렀는..
지난번에 설계한 ERD를 바탕으로 DataGrip을 활용하여 쿼리를 작성해 봅시다! 우선 각각의 테이블에 데이터를 임의로 넣어줍시다... 그리고 작성했었던 엑셀을 바탕으로 쿼리를 작성했습니다! (로그인 시 사용할 수 있는 찜관련 쿼리는 우선 빼고 작성했습니다.)
ERROR 1366 (HY000) : incorrect string value MySQL 테이블의 특정 필드에 한글을 입력하면 위와 같은 에러가 발생하는 경우가 있습니다. 해결 방법은 아래와 같습니다. default charset을 utf8로 설정해 주면 됩니다.
이번에는 저번에 설계했었던 ERD를 바탕으로 이번에는 앱 전체의 ERD를 설계하고 이에 대한 쿼리를 작성할 것입니다....!! 우선 애플리케이션의 각 화면을 아래와 같이 pdf로 정리를 했습니다. aquerytool를 이용해 아래와 같이 ERD 설계를 했습니다. 아직 ERD설계에 대한 감이 잡히지 않아 미숙한 부분이 많은데, 점점 보충을 해야겠습니다... 설계한 각각의 table를 자세히 보자면 아래와 같습니다 ~ 설계한 ERD를 바탕으로 애플리케이션의 화면이 어떤 데이터를 제공해야 하는지 아래와 같이 정리를 했습니다 ~ 나중에 쿼리를 짜는데 이를 참고하면 편하기 때문이죠 다음 파트에서는 설계한 ERD를 바탕으로 직접 쿼리를 짜 봅시다.