본문 바로가기
반응형

개발/Database18

Mysql 비번 초기화 카카오로그인을 만들면서 mysql을 접속하는데 mysql 비번을 잊었다. access denied for user ''@'localhost' (using password: no) 비번을 찾을 수 없어서 초기화를 시도했다. 하루 반 동안 brew로 mysql을 삭제하고 재설치하고, mysqld_safe --skip-grant-tables & 를 입력하고 돌아가는 mysql을 다 kill 해봤지만 해결되지 않았다. mysqld_safe --skip-grant-tables : mysql의 엑세스 권한을 무제한으로 변경 터미널에 which mysql 입력하면 mysql이 어디에 설치되어있는지 찾을 수 있다. 나같은 경우는 brew로 mysql을 설치했기 때문에 /opt/homebrew/bin 에 mysql이 있.. 2023. 7. 14.
MYSQL에서 Split하기 : SUBSTRING_INDEX 상황은 이러했다. 회사의 DB를 보여줄 수 없으니 비슷하게 꾸미면 아래 표를 변경하여 이름 과일 선택한 순서 과일 선택한 시간(오후) 철수 사과, 딸기, 바나나, 키위 3시,4시,5시,6시 짱구 키위, 딸기, 바나나, 수박 1시,2시,9시,10시 훈이 바나나, 멜론, 포도, 블루베리 2시,3시,8시,11시 다음과 같이 '마지막 선택한 과일', '마지막 선택한 시간' 만 보여달라는 요청사항이었다. 이름 마지막 선택한 과일 마지막 선택한 시간 철수 키위 6시 짱구 수박 10시 훈이 블루베리 11시 해당 sql은 아래와 같이 작성되어 있었다. SELECT name AS "이름", GROUP_CONCAT(pick-fruit ORDER BY id(시간) SEPARATOR ',') AS "과일 선택한 순서" GRO.. 2022. 4. 3.
외부조인 내부조인과 외부조인의 차이 내부조인은 두 테이블에 존재하는 항목만 출력 외부조인은 한쪽에만 있으면 출력(left, right, full) LEFT OUTER JOIN ( = LEFT JOIN) 왼쪽 테이블의 내용은 모두 출력되어야 한다. 아래 쿼리문에서는 'member 테이블의 내용은 모두 출력되어야 한다.' 라고 이해하면 된다. SELECT M.mem_id , M.mem_name, B.prod_name, M.addr FROM member M LEFT OUTER JOIN buy B ON M.mem_id = B.mem_id ORDER BY M.mem_id; RIGHT OUTER JOIN ( = RIGHT JOIN) 오른쪽 테이블의 내용은 모두 출력되어야 한다. 아래 쿼리문에서는 'buy 테이블의 내용은 모.. 2022. 3. 9.
DISTINCT 중복된 결과중 1개만 출력 상황극 나는 교육회사 개발자이다. "우리 사이트에서 한 번이라도 수강신청한 기록이 있는 회원들에게 지원독려의 알림톡을 발송합시다." 라는 요청이 들어왔다. 이런 경우 내부 조인(두 테이블에 모두 있는 내용만 조인)을 이용하여 추출한 회원에게만 알림톡을 발송한다. 어차피 중복된 이름은 필요 없으므로 DISTINCT 사용. Distinct를 사용하지 않았을 때 SELECT M.mem_id, M.mem_name, M.addr FROM buy B INNER JOIN member M ON B.mem_id = M.mem_id ORDER BY M.mem_id; Distinct를 사용했을 때 SELECT DISTINCT M.mem_id, M.mem_name, M.addr FROM buy B INNER JOIN memb.. 2022. 3. 8.
반응형