목록Database/MySQL (27)
YS's develop story
MySQL ) 기존 칼럼에서 값을 +1 해주기 쿼리가 실행될 때마다 특정 칼럼의 값을 +1 증가시키려면 어떻게 해야 할까요? 조회수와 같은 요소는 이런 요소를 활용해야 할 것 같습니다. Cafe라는 테이블에 cafeStar라는 칼럼을 주목해 주세요, 아래와 같은 쿼리를 2번 실행하면... update Cafe set cafeStar =Cafe.cafeStar + 1 where cafeId = 1; 해당 값에서 +2가 추가된 것을 볼 수 있습니다. 이를 조회 수 같은 칼럼에 활용하면 편할 것 같습니다 :)
DataGrip 사용 중 발생 한 에러.... Server returns invalid timezone. Need to set 'serverTimezone' property. 해결법은 엄청 간단합니다. 아래를 참고해주세요. Advanced - Name를 클릭 후 정렬 후 - serverTimeZone을 Asia/Seoul로 설정 Test Connection확인 후 실행하면 에러가 해결됩니다!!
DATE DATE 타입은 YYYY-MM-DD 형식으로 입력이 가능하며 '1000-01-01'부터 '9999-12-31'까지 입력이 가능합니다. DATETIME DATETIME타입은 YYYY-MM-DD HH:MM:SS 형식으로 입력이 가능하며 '1000-01-01 00:00:00' 부터 '9999-12-31 23:59:59'까지 입력이 가능합니다. TIME TIME 타입은 HH:MM:SS 형식으로 입력이 가능합니다. TIMESTAMP TIMESTAMP 타입은 날짜와 시간모두를 포함한 타입입니다.
DataGrip 활용하여 특정 테이블을 다른 위치로 복사하기 RP2 server에 있는 Event라는 테이블을 다른 스키마로 복사하고 싶습니다. 방법을 찾기위해 구글링을 열심히 했지만... 방법은 엄청 간단합니다. 옮기고 싶은 테이블을 선택하고 빨간색 박스로 표시한 버튼을 클릭 해 줍니다 테이블을 복사할 위치를 골라 주세요. Import를 하게 되면 해당 위치로 테이블이 복사 됩니다 !
MySQL case when 쿼리를 활용해 봅시다. 아래와 같이 Theme라는 테이블이 있습니다. 이 테이블에서 case when쿼리를 활용해 봅시다. 아래와 같이 case when를 활용할 수 있습니다. select 칼럼명1 as 표시할 이름1, 칼럼명2 as 표시할 이름2, (case when 칼럼명 = '조건1' then '결과1' when 칼럼명 = '조건2' then '결과2' else '결과3' end )as '표시할 이름' from '테이블명'where '칼럼명' = '조건' ; 칼럼에 있는 데이터 값에 따라 표시할 이름을 다르게 하는 것이라고 볼 수 있습니다. 결과로써 아래와 같이 표시되게 됩니다 ~
23000 1052 Column in field list is ambiguous roomNo이라는 칼럼이 많기 때문에 roomNo칼럼이 어떤 테이블의 것인지 지정을 해 주어야 합니다. 해결방법 roomNo -> Member.roomNo
먼저 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라는 테이블에..