[DB] JOIN

Featured image for [DB] JOIN

1. JOIN 둘 이상의 테이블에서 데이터가 필요할 때 관련 있는 속성을 기준으로 복수의 테이블을 ‘관계’ 지어주는 연산. 그래서 관계형 데이터베이스의 꽃이라 부른다. 일반적으로 각 테이블의 PK 및 FK로 구성된 조인 조건을 포함하는 WHERE 절을 작성해야 한다. 가. JOIN의 종류 조인은 크게 일반적인 조인(혹은 내부 조인)과 외부 조인으로 나눌 수 있다. 2. INNER JOIN 두 테이블 … 더 읽기

[mySQL] 사용자 추가, 권한 부여,삭제

Featured image for [mySQL] 사용자 추가, 권한 부여,삭제

1. 사용자 추가 2. 권한 부여 GRANT 문을 사용해서 생성한 유저의 권한을 설정한다. 3. 사용자 삭제 DROP 문으로 유저를 삭제한다. 참고자료 How to Delete MySQL User Using DROP USER Delete a MySQL user using the DROP USER statement. This tutorial explains the statement syntax and gives examples for removing unwanted users.

[Node.js] 리팩터링

Featured image for [Node.js] 리팩터링

Node.js – MySQL – 생활코딩 생활코딩 Node.js – MySQL 강의를 듣고서 작성한 글입니다. 그냥 그렇다고요. 1. 현재 상황 대충 이렇다. 겁나 복잡하다. 학습과 구현을 병행했기 때문에 아주 이상한 프로그램이 되었다. 보다 유지보수가 쉽도록 리팩토링을 수행한다. 2. 개선 방안 리팩터링의 핵심 포인트를 짚어보자. 가. DB 사용 template.js에 위치한 메서드들이 readAndRes를 거치지 않고 바로 DB에 접근할 수 … 더 읽기

[Node.js] 작성자 표시

Featured image for [Node.js] 작성자 표시

Node.js – MySQL – 생활코딩 생활코딩 Node.js – MySQL 강의를 듣고서 작성한 글입니다. 그냥 그렇다고요. 1. JOIN문을 이용한 상세 보기 구현 topic과 author 테이블을 조인해서 글마다 작성자가 누구인지 표시할 수 있도록 한다. HTML 코드를 수정해서 작성자를 표시하는 p 태그를 추가한다. 추가로 author라는 인자를 받아서 ${author}라는 템플릿 리터럴을 추가한다. 관련된 모든 코드를 변경해야 한다. 이런 식으로 … 더 읽기

[Node.js] MySQL로 기능 구현 (Update, Delete)

Featured image for [Node.js] MySQL로 기능 구현 (Update, Delete)

Node.js – MySQL – 생활코딩 생활코딩 Node.js – MySQL 강의를 듣고서 작성한 글입니다. 그냥 그렇다고요. 1. Update 가. else if (pathname === “/update”) 나. else if (pathname === “/update_process”) 제출을 누르면 수정이 완료된다. 2. Delete 이제 하나 남았다. before after

[Node.js] MySQL로 기능 구현 (Create, Read)

Featured image for [Node.js] MySQL로 기능 구현 (Create, Read)

Node.js – MySQL – 생활코딩 생활코딩 Node.js – MySQL 강의를 듣고서 작성한 글입니다. 그냥 그렇다고요. 1. 상세 보기 구현 MySQL에서 DB의 정보를 가져와서 상세 보기 페이지를 만들고 클라이언트에게 전송하기. 2. Create 구현 가. INSERT 기존의 코드에서 writeFile(…)을 INSERT 쿼리로 수정한다. 보안을 위해서 작성했던 코드다. 여전히 XSS에 대처하기 위해서 sanitized-html은 필요하다. 하지만 더 이상 파일시스템을 사용하지 … 더 읽기

[Node.js] npm install mysql2

Featured image for [Node.js] npm install mysql2

Node.js – MySQL – 생활코딩 생활코딩 Node.js – MySQL 강의를 듣고서 작성한 글입니다. 그냥 그렇다고요. 1. MySQL 연결하기 2. Error: connect ECONNREFUSED 127.0.0.1:3306 main.js가 있는 컨테이너에서 mysql이 있는 컨테이너를 찾지 못하고 있다. 서로 다른 컨테이너에 있기에 localhost로는 접근할 수 없다. 가. IP로 접근하기 https://bluese05.tistory.com/36 container가 할당받은 internal ip로 접근하고자 하는 컨테이너를 선택할 수 있다. docker … 더 읽기

[Node.js] MySQL 제어하기

Node.js – MySQL – 생활코딩 생활코딩 Node.js – MySQL 강의를 듣고서 작성한 글입니다. 그냥 그렇다고요. 1. file의 한계 소규모의 단순한 기능을 구현하기에는 파일이 좋다. 단순하고 쉽고 특별한 설치나 학습이 필요하지 않다. 하지만 파일은 한계가 있다. 우리가 만든 웹 페이지가 저장한 파일의 수가 커질수록 원하는 파일, 원하는 내용을 찾는 것이 오래 걸린다. 뿐만 아니라 파일은 제목과 … 더 읽기

[Docker] MySQL 설치

Featured image for [Docker] MySQL 설치

  1. Dockerhub mysql mysql – Official Image | Docker Hub node.js 수업이 mysql을 사용하게 되었다. 따라서 mysql을 Dockerfile에 추가하고 docker-compose.yml에도 추가해야 한다. compose만 수행하면 바로 사용할 수 있도록 만들고 싶다. 2. docker-compose.yml 분석 운 좋게도 compose를 공부하면서 mysql이 사용된 예시를 사용했다. 이것을 조금 참고해서 작성하면 되겠다. 가. mysql image 가져오기 나. bind mount 하기 … 더 읽기

[MySQL] Sever, Monitor, Workbench

Featured image for [MySQL] Sever, Monitor, Workbench

인터넷과 데이터베이스의 관계 인터넷이 동작하기 위해선 최소 2대의 컴퓨터가 필요함. 최소 2대의 컴퓨터가 정보를 요청하고 응답한다. 역할에 따라서 클라이언트와 서버라고 나눈다. 정보를 요청하는 클라이언트, 정보를 제공하는 서버 둘이 모여 인터넷을 이룬다. 우리가 MySQL을 설치하면 아래 두 가지 프로그램을 설치함. 우리는 데이터베이스 서버에 직접 접근할 수 없다. 그렇기에 우리는 MySQL monitor라는 클라이언트를 통해서 접근할 수 있다. … 더 읽기