데브코스/강의 정리
2주차 DB와 메인 페이지 연동하기
케케_
2024. 8. 28. 14:11
데이터베이스(Darabase; DB)
: 데이터를 통합하여 효울적으로 관리하기 위한 데이터 집합체
--> 데이터 구조화해 관리 -> 데이터 중복 막고 효율적이고 빠른 연산 가능
- DBMS(DataBase Management System)
- 종류(브랜드): Oracle, MySQL, MariaDB
- SQL(Structured Query Language)
: 데이터베이스에 연산을 요청하기 위해 사용되는 언어- 데이터 생성, 조회, 수정, 삭제 등 기능 수행
- 대표적 SQL
- 데이터 삽입: INSERT
- 데이터 조회: SELECT
- 데이터 수정: UPDATE
- 데이터 삭제: DELETE
- 데이터 생성: CREATE
Docker와 MariaDB
- Docker로 MariaDB 설치
- (설치) pocker pull mariadb
- 도커에게 마리아db를 당겨와라 명령(도커는 원래 마리아db를 가지고 있음)
- 도커에게 마리아db를 당겨와라 명령(도커는 원래 마리아db를 가지고 있음)
- (실행) docker run --name mariadb -d -p 3306:3306 --restart=always -e MYSQL_ROOT_PASSWORD=root mariadb
- 3306: 포트넘버
- MYSQL_ROOT_PASSWORD=root: password는 root로 설정
- (mariadb가 있는 컨테이너 접속) docker exec -it mariadb /bin/bash
- 위 명령어 중 mariadb: 도커 사진의 컨테이너 중 하나
- mariadb 컨테이너 안에 mariadb 관련 설치를 다 해둠
- (mariadb 실행): mysql -u root -p --> mariadb -u root -p
- 강사님은 mysql을 사용했지만 mariadb를 사용해야 돌아감
- 슬랙에서 다른 분들의 말씀으로 보면 버전 차이라고 함 (어떻게 찾으신거지,,)
- 비밀번호: root
- 위 명령어 중 mariadb: 도커 사진의 컨테이너 중 하나
- (설치) pocker pull mariadb
SQL
- docker로 mariadb 실행하기
- docker desktop 실행
- 터미널 실행
- mriadb가 있는 컨테이너 접속: docker exec -it mariadb /bin/bash
- mariadb 실행: mysql(또는 mariadb) -u root -p
SQL: CREATE(데이터 저장소 만들기)
- 데이터를 저장할 방 만들기
- 방 확인: SHOW DATABASES;
- 방 만들기: CREATE DATABASE Tennis;
- 방 들어가기: USE Tennis;
- 방 확인: SHOW DATABASES;
- 방 안에 저장소 만들기 (틀)
CREATE TABLE member
( - id INT, //아이디 열 -> 실습에선 문자열로
- name VARCHAR(30), //네임 열
- pwd VARCHAR(30) //pw 열
- );
- 테이블(틀)에 데이터 넣기 (SELECT, INSERT)
- 테이블 데이터 조회
: SELECT 컬럼명 FROM 테이블명; - 테이블 데이터 삽입
: INSERT 컬럼명1, 컬럼명2, ...INTO 테이블명- 컬럼명을 꼭하지 않아도 됨
- 확인
- 확인 시 모두 다 확인하는 간편한 방법 (*)
- 데이터 삽입 후 전체 확인
- 데이터 삽입 후 전체 확인
- 특정 데이터 조회
: SELECT 컬럼명 FROM 테이블명 WHERE 조건;
- 컬럼명을 꼭하지 않아도 됨
VALUES (컬럼1 데이터, 컬럼2 데이터,...);
- 테이블 데이터 수정
: UPDATE 테이블명 SET 컬럼명 = 수정할 값 WHERE 조건;
ex) UPDATE member SET pwd = 'zzzzz' WHERE id = 'tennisking';- !주의!
- 조건을 달지 않을 경우 테이블의 모든 해당 값이 변함
- !주의!
- 테이블 데이터 삭제
: DELETE FROM 테이블명 WHERE 조건;
ex) DELETE FROM member WHERE name = 'park songa'; WHERE 절이 없으면 데이터 전체 삭제 가능
- 테이블 데이터 조회
벡엔드 제대로 맛보기
node.js와 데이터베이스 연동
- tennis 방에 product 저장소 만들기
- 필드 타입을 잘못 입력해 alter을 사용해 수정
- 실습 테이블 생성
- npm install mysql --save
- mysql 모듈 설치 명령, vscode 터미널에 작성함
npm: node.js의 명령어 - package~ 나 node_modules와 같은 새로운 파일과 폴더들이 생김
- mysql 모듈 설치 명령, vscode 터미널에 작성함
- 데이터베이스와 node.js 연결하기
- 폴더와 파일 생성
- database 안 connect 안 mariadb.js 파일 생성
- 연결
- localhost:8888/ 치면 main과 함께 테이블 데이터 출력
- 폴더와 파일 생성
메인 페이지 연동하기
- 화면 바꾸는 방법 (main.html으로)
- 그림 넣어주기
- css가 적용이 안됨 -> css를 html 파일 내부에 작성
- 그림 넣어주기
- INSERT 해주기
- 요청을 handler에 url로 해야
- ++++++++++++++++
- 보완예정