- 데이터베이스(Database)
- SQL(Structured Query Language)
- MariaDB에서 대표적인 SQL언어 사용해보기
- Node.js 서버와 DB 연결하기
SHOW DATABASE;
: 모든 데이터베이스를 보여준다
// SHOW DATABASE;의 출력값
+--------------------+
| Database |
+--------------------+
| Tennis |
+--------------------+
CREATE DATABASE db_name;
: 데이터베이스를 생성한다
USE db_name
: 데이터베이스를 사용한다
// Tennis라는 데이터베이스를 사용한 모습
MariaDB [Tennis]>
+------+--------------+-------------+--------+
| id | name | description | price |
+------+--------------+-------------+--------+
| 1 | Red Racket | Hot Red! | 300000 |
| 2 | Blue Racket | Cool Blue! | 350000 |
| 3 | Black Racket | Chic Black! | 500000 |
+------+--------------+-------------+--------+
product라는 테이블을 만들어보자
CREATE TABLE product
(
id INT,
name VARCHAR(30),
description VARCHAR(30),
price VARCHAR INT
)
정수 타입의 id, price
문자열 타입의 name, description 속성을 가진
product 테이블을 만들었다
product 테이블에 데이터를 삽입해보자
INSERT INTO product VALUES
(
1, 'Red Racket', 'Hot Red!', 300000,
2, 'Blue Racket', 'Cool Blue!', 350000,
3, 'Black Racket', 'Chic Black!', 500000
)
product 테이블에 데이터(row) 3개를 삽입하였다
product 테이블을 조회해보자
SELECT * FROM product;
----------------------------------------------
+------+--------------+-------------+--------+
| id | name | description | price |
+------+--------------+-------------+--------+
| 1 | Red Racket | Hot Red! | 300000 |
| 2 | Blue Racket | Cool Blue! | 350000 |
| 3 | Black Racket | Chic Black! | 500000 |
+------+--------------+-------------+--------+
SELECT를 이용하여 product 테이블을 조회하면
위 테이블(표)처럼 3개의 데이터가 들어간 것을 확인할 수 있다
product 테이블의 Black Racket의 price를 400000으로 수정해보자
UPDATE product SET price = 400000
WHERE name = 'Black Racket';
name이 Black Racket이어야 한다는 조건을 설정해줘야 한다
조건을 설정해주지 않으면, 테이블의 모든 price가 400000으로 수정된다
product 테이블의 Black Racket를 삭제하자
DELETE * FROM product
WHERE name = 'Black Racket';
마찬가지로 name = 'Black Racket'이라는 조건을 설정해주지 않으면 모든 데이터가 삭제된다
npm mysql --save
- npm(Node Packaged Manager)이란?
Node.js로 만들어진 특정 기능을 수행하는 모듈을 관리해주는 프로그램
전세계의 개발자들이 npm을 사용하여 자신들이 만든 패키지를 공유한다
즉, 우리는 필요한 부품을 쉽게 찾아서 가져오고 그 부품을 사용하여 프로그램을 빠르게 만들 수 있다
// mariadb.js
const mariadb = require('mysql')
const conn = mariadb.createConnection( // 연결 통로 만들어준다
{
host: 'localhost',
port: 3306,
user: 'root',
password: 'root', // 여기까지 mariadb에 접속하고
database: 'Tennis' // Tennis라는 database와 연결 통로 만들기
}
);
module.exports = conn;
// index.js
let server = require('./server');
let router = require('./router');
let requestHandler = require('./requestHandler');
const mariadb = require('./database/connect/mariadb')
mariadb.connect(); //연결 통로를 만들어 뒀으니, 진짜 연결을 한다
server.start(router.route, requestHandler.handle);