Mysql

    GROUP_CONCAT

    서로 다른 결과를 한줄로 합쳐서 보여줄 때 사용한다. select * from test; type name fruit 수박 fruit 사과 fruit 바나나 fruit 사과 select type, group_concat(name) from test group by type ; type name fruit 수박,사과,바나나,사과 group_concat을 기본적인 형태로 사용했을경우 문자열 사이에 쉼표(,)가 붙게 된다. 구분자를 변경하고 싶을때는 아래와 같이 SEPARATOR '구분자' 를 붙여 준다. select type, group_concat(name separator '|') from test group by type; type name fruit 수박|사과|바나나|사과

    UNION을 이용한 FULL OUTER JOIN 구현

    FULL OUTER JOIN FULL OUTER JOIN은 기본적으로 JOIN을 하려는 양쪽 테이블에서 중복된 값을 제외하고 모든 레코드를 합쳐서 보여준다. 위의 두 테이블을 합치면 어떻게 될까? 이렇게 된다. 여기서 중복된 값을 제거해준다. 그렇다면 이렇게 된다. 이 상태가 바로 위의 topic 테이블과 author 테이블을 FULL OUTER JOIN한 것이다. 하지만 대부분의 DBMS에서 FULL OUTER JOIN을 지원하지 않는다. 대신 UNION이라는 명령어로 FULL OUTER JOIN을 구현할 수 있다. (SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.id) UNION (SELECT * FROM topic RIGHT JO..

    Mysql aws 설치 과정

    - 보안을 위해 3306 포트번호를 AWS 보안그룹에서 열어주지 않음. $ npm i sequelize mysql2 sequelize-cli express mysql socket.io joi nunjucks jsonwebtoken chokidar aws-sdk cookie-parser cors dotenv express-session nodemailer $ npm install -g pm2 - AWS가 종료되더라도 Node.js 서버가 실행되기 위해 pm2를 설치 $ sudo apt-get update $ sudo apt-get install mysql-server $ sudo mysql mysql> use mysql; - mysql Database에 접속한다. mysql> select user, hos..

    mysql 기본 명령어

    mysql 서버 접속 docker exec -it 서버 이름 bash mysql -u root -p 1234 use db이름 데이터베이스 사용 use 사용할 디비이름; 데이터베이스 보기 show databases; DB 삭제 DROP DATABASE DB명; 테이블 스키마 보기 DESC 스키마명; 특정 행 삭제 DELETE FROM 테이블명 WHERE 필드명 = ?? ; 특정 행 삽입 INSERT INTO 테이블명 (컬럼1, 컬럼2, ...) VALUES (값1, 값2, ...); 특정 행 수정 UPDATE 테이블명 SET 컬럼1 = 수정값1 [, 컬럼2 = 수정값2 ...] [WHERE 조건]; 테이블 삭제 DROP TABLE 테이블명; 테이블 생성 // 예시 CREATE TABLE emp_table ..

    Subquery

    Subquery란? 하나의 SQL 문에 포함되어 있는 또 다른 SQL 문을 말한다. 예시 SELECT p.postId, p.userId, u.nickname, p.title, p.artist, p.showDate, p.description, p.img, CASE when p.postId IN (SELECT postId FROM Favorites where userId = 1234) then "TRUE" else "FALSE" end as favorite FROM Posts AS p JOIN Users AS u on p.userId = u.userId and p.postId = 123 CASE when p.postId IN (SELECT postId FROM Favorites where userId = 1..

    Join

    Join이란? 두개 이상의 테이블을 합치는 것을 말한다. 두 개의 테이블을 select문장 안에서 조인하려면 적어도 하나의 컬럼이 그 두 테이블 사이에서 공유되어야 한다. 각 테이블의 기본키를 기준으로 곱연산이 일어난다. 예시 SELECT c.commentId, c.userId, u.nickname, c.comment FROM Comments AS c JOIN Users AS u 해석 Commets와 Users 테이블을 join한다. Commets테이블을 c라는 약어로 Users테이블을 u라는 약어로 사용한다. 약어를 이용해서 각 테이블의 속성값을 불러온다. SELECT c.commentId, c.userId, u.nickname, c.comment FROM Comments AS c JOIN Users ..

    Mysql은 try catch에서 error가 잡히지 않는다.

    connection 펑션안에서 에러가 반환된다.