pgms

[2주차] - [9기] 타입스크립트로 함께하는 웹 풀 사이클 개발(React, Node.js) 10회차 - 9

Ejah 2026. 1. 13. 22:11

DB Docker, SQL

 

화요일 쇼핑몰 프로젝트의 백엔드 부분을 구현하기 위해서 필수적으로 요하는 DB를 학습

 

데이터베이스란?

 

데이터를 통합하여 효율적으로 관리하기 위한 집합체를 DB
이런 DB를 구조화하여 관리함으로써 중복을 막고, 효율적이고 빠른 연산을 할 수 있다.

 

SQL이란?

 

데이터베이스에 연산을 요청하기 위해 사용되는 언어로 데이터 CRUD와 같은 기능을 수행할 수 있다

 

도커란?

 

도커는 호스트 컴퓨터의 OS 위에서 독립적인 컨테이너를 기반으로 어플리케이션을 돌릴 수 있게하는 도구

Dockar

 

도커는 호스트 컴퓨터의 OS 위에서 독립적인 컨테이너를 기반으로 어플리케이션을 돌릴 수 있게하는 도구
우리는 MariaDB를 도커로 띄워서 실습할껍니다.

 

실습하기

docker pull mariadb ## mariadb 설치

docker runl --name mariadb -d -p 3306:3306 --restart=always -e MYSQL_ROOT_PASSWORD=root mariadb ## cli로 실행하기

에러 발생!

Bind for 0.0.0.0:3306 failed: port is already allocated

이미 누군가 3306 을 사용중이라 충돌 발생으로 인한 에러

docker ps 명령어로 현재 누가 사용중인지 확인!

docker exec -it mariadb-tennis mariadb -u root -p

기존 컨테이너 접속!

 

mariadb-tennis 에 접근해라!!

(사실 필자가 강의를 한 번 더 보면서 학습한 내용을 복습하는 와중에 발생..)

docker run --name mariadb -d -p 3306:3306 --restart=always -e MYSQL_ROOT_PASSWORD=root mariadb

중간에 에러 발생!

강의에는 mysql  -u root -p

를 사용하라고 했지만

 

필자는 이미 컨테이너 안으로 들어온 상태라 그런지 mysql 구문이(명령어)가 존재하지 않는다고 하며 에러발생

 

mysql -> mariadb 로 변경해주면

 

PW를 입력후 마리아 디비안으로 성공적으로 들어온 모습을

 

MariaDB [(none)]> 으로 알 수 있다~

 

지금까지 한 내용을 정리해보자면

 

  1. Docker desktop 프로그램 실행
  2. cmd(윈도우) 또는 터미널(맥) 실행
  3. mariadb가 있는 컨테이너 접속 : docker exec -it mariadb /bin/bash
  4. mariadb 실행 : mysql -u root -p

 

데이터 조회 및 삽입

 

데이터베이스 보기: SHOW DATABASES;

show databases;

 

데이터베이스 생성: CREATE DATABASE 테이블이름;

create database 생성할 테이블 이름

 

특정 데이터베이스 사용: USE '테이블명';

사용할 테이블



테이블 생성

CREATE TABLE member (

    id INT AUTO_INCREMENT PRIMARY KEY,

    name VARCHAR(255),

    password VARCHAR(255)

);

다음과 같이 생성

 

테이블 데이터 삽입: INSERT 컬럼명1, 컬럼명2, ...INTO 테이블명 VALUES (컬럼1 데이터, 컬럼2 데이터, ...

 

테이블 데이터 조회: SELECT 컬럼명 FROM 테이블명; 특정 데이터 조회: SELECT * FROM 테이블명 WHERE 조건;

 

특정 데이터 수정: UPDATE 테이블명 SET 수정할 컬럼: '수정할 값' WHERE 조건;

아이디가 junghyun 에 해당하는 행의 패스워드 값이 aaaaa로 변경된 모습

 

특정 데이터 삭제: DELETE FROM 테이블명 WHERE 조건;

 

 

Node.js DB 연결하기

먼저 사용할 DB생성
vscode에서 mariadb사용하기 위한 명령
마리아디비라는 변수에 저 함수를 넣겠다~