BEB 07 6-4

Donghun Seol·2022년 10월 20일
0

코드스테이츠 BEB 07

목록 보기
23/39

mysql 학습내용

db timezone 설정 문제

오라클 인스턴스에서 가동중인 db의 시간대가 맞지않는 문제가 발생해서 찾아봤다..

  1. 현재 timezone 확인
    SELECT @@GLOBAL.time_zone, @@SESSION.time_zone;

  2. 첫번째 시도

set global time_zone = 'Asia/Seoul';
set time_zone = 'Asia/Seoul';
  1. tz정보가 db안에 없어 오류가나서 재시도
    os에서 mysql_tzinfo_to_sql 유틸로 time_zone 정보를 db에 넣어준다.레퍼런스
    mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql;

*.sql 파일 실행하기

  1. db 안에서
    source \home\user\Desktop\test.sql;
  2. 터미널에서
    mysql [-h hostname] -u <user> <dbName> < path/to/test.sql

sprints

part3

매우 기초적인 쿼리들

part4

그나마 단순 left join, inner join이 까다로웠던 스프린트

part5

n-m 관계를 쿼리하기 위해서 inner join을 중첩적으로 사용해야하는 문제가 어려웠다.
SQL을 작성할때도 코드컨벤션을 일정하게 유지하여 가독성 좋게 코딩하는것이 매우 중요함을 깨닫는다.

-- Bad Query 💩
`select name from category where id in (select categoryId from content_category where contentId = (select content.id from content join user on content.userId=user.id where user.name='jiSungPark'))`;

-- Good Query 👍
SELECT content.title, content.body, content.created_at, user.name
FROM content
INNER JOIN content_category ON content.id = content_category.contentId
INNER JOIN category ON content_category.categoryId = category.id
INNER JOIN user ON content.userId = user.id where category.name = 'soccer';
profile
I'm going from failure to failure without losing enthusiasm

0개의 댓글