[SSAC X 코딩온] (2021.10.21) Node.js 입문 수업 2일차
📚 지난 수업 복습타임
-
node.js는 프레임워크가 아니기 때문에 서버를 실행하는 파일을 자기가 직접 만들어야 한다!
-
npm init 으로 node_modules 파일을 만들어준다.
-
app.js = 서버키는 기능
-
Routing = django에서 urls.py 기능
-
백엔드 코드 = django에서의 views.py 기능
-
SPA는 javaScript의 강점을 최대한 활용할 수 있다.
-
express는 내장된 함수가 아니기 때문에 따로 불러와야 한다.
-
Django에서의 import는 javascript에서 require다.
📢 Node.js에서 MySQL 사용해보기
- Node.js로 회원가입을 할 때 회원가입된 회원의 데이터를 저장할 데이터베이스가 필요하다.
따라서 지금부터 mySQL을 이용해서 데이터를 저장하고 수정할 수 있게 만들 것이다.
✋ 그 전에 Node.js
테스트 파일에서 mySQL을 입문해볼 것이다.
-
MySQL 설치 방법과 CRUD가 기억이 안난다면 지난 수업 때 했던 내용을 복습하자!
-
먼저 node.js에서 mysql를 사용할 수 있도록 npm으로 설치를 하자!
npm install mysql
mysql_test.js
파일을 생성하고 다음과 같이 작성해준다.
var express = require('express');
var app = express();
var mysql = require( 'mysql' );
var conn = mysql.createConnection({
user: 'root',
password: '개인이 설정하고 싶은 비밀번호 입력',
database: 'SSAC'
});
app.listen( 8100, function () {
console.log( conn.state );
console.log( "Listening on *:3000" );
});
-
파일을 node.js 터미널에서 실행시켜본다.
node mysql_test.js
-
DB와의 상태가 disconnect라고 뜬다 왜 그럴까...?
-
아마도 비밀번호가 일치하지 않거나 초기에 설정한 값이 없어서 인 것으로 추측됨.
따라서 mySQL의 비밀번호를 다시 설정해 주어야함! -
아래와 같은 명령어로 비밀번호 설정!
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '변경할 비밀번호';
-
그 후 Putty 터미널에서 mySQL 실행! 아래 명령어를 입력하면 비밀번호를 입력하라고 나오는 데 위에서 설정한 비밀번호를 입력하면 된다!
mysql -u root -p
mysql_test.js
의 내용을 수정하기 다시 실행시켜 보도록 하겠다.
var express = require('express');
var app = express();
var mysql = require( 'mysql' );
var conn = mysql.createConnection({
user: 'root',
password: 'ssac()',
database: 'SSAC'
});
app.listen( 8100, function () {
conn.connect( ( err ) => {
if ( err ) console.log( err );
else console.log( "DB connected successfully!" );
});
- 다음과 같이 뜨면 DB와 연결이 정상적으로 된 것이다!!
💹 Node.js에서 데이터를 insert하기
app.listen( 8100, function () {
conn.connect( ( err ) => {
if ( err ) console.log( err );
else console.log( "DB connected successfully!" );
});
var sql = "INSERT INTO member VALUES('david', '데이빗', '2021-10-21');"
conn.query(sql, function(err) {
if( err ){
console.log( 'failed!! : ' + err );
}
else {
console.log( `"data inserted!"` );
}
});
});
- 데이터가 insert되면
"data inserted!"
문장이 출력된다.
- 데이터가 정상적으로 잘 입력되었다.
💹 Node.js에서 데이터를 select하기
app.listen( 8100, function () {
conn.connect( ( err ) => {
if ( err ) console.log( err );
else console.log( "DB connected successfully!" );
});
// select 예제
var sql = "SELECT * FROM member;"
conn.query( sql, function( err, results ) {
for ( var i = 0; i < results.length; i++) {
console.log ( "아이디 : " + results[i]["ID"] );
console.log ( "이름 : " + results[i]["name"] );
}
} );
});
- 해당 명령문이 정상적으로 작동했다면 다음과 같이 나올 것이다.
✅ 다음 실습 과제 :
- 금일 배운 MySQL 데이터 조작을 토대로 Node.js에서 회원가입 등의 CRUD를 구현하기
💢 오늘의 수업 후기
Author And Source
이 문제에 관하여([SSAC X 코딩온] (2021.10.21) Node.js 입문 수업 2일차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ryu0114/SSAC-X-코딩온-2021.10.21-Node.js-입문-수업-2일차저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)