목록Database (35)
YS's develop story
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라는 테이블에..
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시간을 기준으로 지금 시간은 얼마나 흘렀는..