카테고리 없음

node.js 설정 및 db 연결 순서도

쿼어어얼 2021. 4. 22. 16:39

1. 폴더만들기

2. 서버로 쓸 js 만들기

3. 그 서버들에 필요한 것들 쪽쪽쪽 넣어주기

4. db database -- table -- field 쭉쭉쭉 넣기

5. 연결, 연결, 연결

 

종합정리. 

 

기계틀을 만들고 ===>>> 기계들을 설정해주고 ===>>> 연결연결연결하고 (연결할때 설정잘해주고) 

===>>> database를 만들어서 설정 잘해주고 ===>>> 또 연결연결하고 이게 끝임.

 

대충그림을 그려보자면

 

                      html          <----->         server      <------->          database

 

주고받는게 있고 그걸 설정해주고 연결하면 된다~ ㅇㅋ?

 

일단 배운걸로는 이게 끝! 

손에 익을때까지 반복반복...

 

mariaDB 명령어

 

   
SHOW databases;  현재 어떤 DB가 있는지 보여줌 

CREATE database [데이터베이스명] DB를 만든다. 
USE [데이터베이스명];   해당 DB를 사용할 수 있게 된다. 
DROP database [데이터베이스명] DB를 삭제한다. 
CREATE table user(
    -> userid varchar(50),
    -> userpw varchar(50),
    -> username varchar(50)
    -> );
테이블을 만든다. 테이블명과 각 속성과 타입을 정해준다. 
SHOW TABLES; 데이터베이스의 테이블을 보여준다.
INSERT INTO [테이블명] (필드1,필드2....) VALUES(값1, 값2) 

예)INSERT INTO user(userid,name,password) VALUES('test','test',1234); 
레코드삽입
DELETE FROM [테이블명] WHERE 필드= 값; 레코드 삭제 
SELECT [필드명,필드명] FROM [테이블명]; 테이블에서 선택된 필드를 보여준다.
select * from [테이블명]; *은 전체를 뜻함=> 전체 필드를 보여줌, 
select * from [테이블명] order by [필드명] desc; 필드명을 기준으로 내림차순 정렬
order by 필드명 asc; 오름차순 정렬 
update 테이블 set 필드명='바꿀값' where 찾을 필드명="바꾸고 싶은 값" 레코드 수정 

 

/*
   넌작스 왜써야함??
   이유는 서버에서 사용하는 ""데이터(변수)""를 html로 보내는 방법이 없기때문에 nunjucks를 쓰는거다. 

    넌작스 넣어볼건데.
    npm install nunjunks
    가져와야겠구나
    require

    setting 해야겠구나
    app.get 이쪽이 아니라
    app.set('view engine','html')
    넌작스.configure('폴더명',{
        express:app
    })

    res.render('파일명')

    넌작스깔고 폴더만들고 그안에 html파일을 만들어야한다.

*/ 
/*
    npm install mysql 을 다운 받는 이유는 db를 연결하기 위해서
*/

require('dotenv').config();
const express = require('express');
const nunjucks = require('nunjucks');
const bodyParser = require('body-parser'); //body-parser를 깔아야 post를 활용하여 body를 가져올수 있게 해준다.
const mysql = require('mysql');
const app = express();
const port = process.env.SERVER_PORT || 3000;

let connection = mysql.createConnection({    //접속 정보를 주겠다.
    // host :: localhost
    // user :: root
    // password :: eornjs0
    // database :: ingoo       데이터베이스 이름 뭐냐???
    host:process.env.DB_HOST,
    user:'root',
    password:'eornjs0',
    database:'tetete', 
});

connection.connect();    //DB에 접속하겠다.

app.use(bodyParser.urlencoded({extended:false}))  //body-parser를 깔았으니 당연히 써줘야겠죠???
app.set('view engine','html');
nunjucks.configure('nunnun',{
    express:app,
})

app.get('/',(req,res)=>{
    res.render('index.html', {name : 'ingoo'});       //render는 인자값이 2개이다.  첫번째는 파일 ,,,  두번째는 객체입니다.
})

app.get('/join',(req,res)=>{
    // index.html -> server.js -> join.html 값을 넘기는작업을 하고있는것.
    //get url
    //get  req.query.name
    //post 는 body
    //post req.body.name
    res.render('join.html',{name_id:req.query.name_html,})
})

app.post('/join',(req,res)=>{
    // inser into 
    connection.query(`insert into lol (subject) values('${req.body.name_33}')`,(error,results)=>{
        if(error){
            console.log('error')
        }else{
            console.log('쿼리문 성공!')
        }
    })
    res.render('join.html',{name_99:req.body.name_33})         //post 는 body ,,,  post는 req.body.name
})

app.listen(3000,()=>{
    console.log(`server start port : 3000`);
})

/*
    nunjucks -> 구문 알아오기
    안보고 칠때까지 연습하기
*/