DataBase/MySQL(MariaDB)(3)
-
[MySQL] 쿼리문 실행 순
쿼리문 오랜만에 복습하니까 헷갈렸는데 순서 정리하니까 복습이 잘된다 ! FROM, JOIN ON, WHERE 2차 테이블 완성 GROUP BY 그룹함수 3차 테이블 완성(그룹작업이 있을 경우에만) HAVING 4차 테이블 완성(HAVING작업이 있을 경우에만) ORDER BY LIMIT
2023.03.09 -
[MySQL] gruop_concat , concat
# gruop_concat group by를 통해 그룹별로 자료를 뽑아내게 쿼리를 작성하고 결과를 보면 뭔가 직관성이 떨어진다. 간단하게 이런 테이블이 있을 때 group by 부서명을 실행하면 부서명 이름 인사과 홍길동 인사과 홍길순 홍보과 이순신 홍보과 세종대왕 이렇게 나온다. 홍길순하고 세종대왕은 보이지가 않는다. 근데 아주 좋은 함수가 있었다. 인사과 홍길동 홍보과 이순신 select 부서명, group_concat(DISTINCT order by id DESC SEPARATOR ', ') from ........... 요렇게 쓰면 부서에 해당하는 이름이 SEPARATOR(', ')로 구분지어서 결과가 나온다. # concat JAVA String 타입에서 제공하는 concat과 똑같다. 테이블을..
2023.03.09 -
[MySQL] 인코딩(utf-8)
DB 쿼리문 연습을 위해서 테이블을 생성하고 기본 자료값을 넣으려고 하는데 계속 오류가 떴다. 뭔가 바로 구글링 하기에 오기가 생겨서 왜인지 이것저것 해보면서 실험을 해봤다. 별거 아니면서도 자주 발생하는 인코딩 오류였다. 방법은 굉장히 간단했다. 영어는 잘 들어간다 ! 그렇다고 영어만 사용하며 공부를 할 수는 없으니 간단하게 인코딩 바꾸는 코드이다. ALTER TABLE test CONVERT TO CHARACTER SET utf8; 그런데 특정 테이블만 적용한 거라서 테이블을 생성할 때마다 해줘야 한다.. 조금 덜 귀찮으려면 테이블을 생성할 때 인코딩 설정까지 해줘버리는게 좋다. # 생성할때 인코딩 설정 CREATE DATABASE 이름 DEFAULT CHARACTER SET utf8 COLLATE ..
2023.03.09