Database

    [MySQL] 현재 시간 insert

    오라클은 현재 시간을 입력할 때, SYSDATE를 사용하여 insert 하지만 MySQL의 경우는 SYSDATE로 insert를 하려고 할 때 오류가 난다. MySQL에서 현재 시간을 입력하는 방법은 2가지가 있다. 1) 해당 컬럼 디폴트에 CURRENT_TIMESTAMP 를 입력한 후 insert 시 default값을 입력한다. INSERT INTO NOTICE VALUES(1, 'TITLE', 'CONTENT', 'USER7', DEFAULT); 2) 해당 컬럼에 NOW()함수를 사용한다. INSERT INTO NOTICE VALUES(1, 'TITLE', 'CONTENT', 'USER7', NOW());

    [MySQL/Oracle] Oracle Join에서 Ansi Join으로 변경해야했던 이유 및 간단한 개념정리

    기존에 사용하고 있던 쿼리를 유지보수업무 수행을 위해 수정해야했다. 수정해야 하는 쿼리는 Oracle Join이었는데 사용해본 적은 있지만 뭔지도 모르고 사용했던지라 개념이 부족했고, 수정을 했지만 원하는대로 조회가 되지 않아서 한참을 헤맸다. 쿼리를 Ansi Join 에서 Oracle Join으로 바꾼 이유 나는 outer join을 해서 join 테이블에 데이터가 없더라도 null이라도 가져와야 했다. 하지만 기존에 코드가 Oracle Inner Join을 사용하고 있었고, 해당 프로젝트에 DB가 MySQL이었기 때문에 Oracle Join을 유지하면서 쿼리를 수정하기가 어려웠다. 왜냐하면 MySQL에서는 (+)를 붙이면 문법에 오류가 있다는 오류가 생겨 원하는데로 조회가 되지 않았다. 결국 Ansi..

    [MySQL] 5.7 다운로드 방법 (이미 8.0 버전이 깔려 있는 경우)

    1. MySQL Installer를 검색해서 실행한다 현재 5.7 버전을 다운 받은 상태라서 이동 버튼이 활성화 되지 않지만, 다운받지 않았다면 이동버튼이 활성화 될 것이다. 이후 next 버튼을 누르고 다운받으면 설치 완료 [참고] 이미 8.0을 다운받아 놓은 상태라면, 포트번호를 변경하여 설치해야한다

    [MySQL] GROUP_CONCAT 사용방법

    CONCAT - MySQL에서 지원하는 문자열 함수로, 두 개 이상의 문자열을 결합하여 단일 값으로 반환하는 함수 즉, 2개 이상의 엔티티를 결합하는 것을 의미한다. 예시 ) SELECT CONCAT('APPLE', 'BANANA') FROM FRUIT; 결과 : APPLEBANANA GROUP_CONCAT 사용하는 방법 SELECT '그룹 대상 컬럼', GROUP_CONCAT('CONCAT 대상 컬럼') FROM 테이블명 GROUP BY '그룹 대상 컬럼'; 예시 1) 예시 2) 위와 같이 2가지 방법으로 GROUP_CONCAT을 사용할 수 있고, SEPARATOR(구분자)를 사용하여 GROUP_CONCAT 할 수도 있다. 예시 2를 활용하여 데이터를 조회하면 다음과 같은 결과를 얻을 수 있다. 참고 ..