[node] mysql crud 실행

Edward Hyun·2022년 3월 31일
0

backend

목록 보기
45/120

#1 connection

var mysql = require('mysql'); // mysql 모듈 사용

var conn = mysql.createConnection({ // createConnection 메서드로 객체화
  host : 'localhost',  
  user : 'root',
  password : '129329aa',
  database : 'TWICE'
}); // 실제는 이렇게 비밀번호 적나라하게 적으면 절대 안됨

conn.connect(); // mysql과 연결

var sql = '';
conn.query(sql, function(err,rows, fields){}); // query 메서드로 질의

conn.end(); // 연결 해제

#2 select

var sql = 'select * from song'
conn.query(sql, function(err,rows, fields){
	// sql 문에 해당하는 행을 rows가 받음 -> 테이블 전체 행
	for(var i = 0; i < rows.lenght ; i++){
		console.log(rows[i].id, rows[i].name, rows[i].year);
		// rows가 행을 배열로 받으므로 인덱스 사용 가능
		// 행 하나하나는 객체이므로 .으로 접근 가능
});
var clubSn = req.params.clubSn;
var clubNm = req.params.clubNm;
var sql = 'SELECT * FROM CLUB WHERE CLUB_SN = ? AND CLUB_NM = ?';
dbconn.query(sql, [clubSn, clubNm], function(err, results, field){
	...
});

#3 insert

var sql = 'insert into song (name, year) values ("what is love",2018)';
conn.query(sql,function(err,rows,fields){
	// sql 구문에 해당하는 행을 rows가 받음 -> insert 하는 행
  console.log(rows.name,' ',rows.year); // what is love 2018
})
var sql = 'insert into song (name, year) values (?,?)';
var params = ['yes or yes', 2018];
conn.query(sql, params, function(err,rows,fields){
  console.log(rows.name,' ',rows.year); // yes or yes 2018
})

#4 update

var sql = 'update song set name="I can\'t stop me", year=2020 where name="more and more"';
conn.query(sql, function(err,rows,fields){
  console.log(rows.name); // 대상으로 하는 행 없으므로 의미 x
})
conn.end();
var sql = 'update song set name=?, year=? where name=?';
var params = ["I can't stop me", 2020, "more and more"];
conn.query(sql, params, function(err,rows,fields){
  console.log(rows.name); // 대상으로 하는 행 없으므로 의미 x
})
conn.end();

#5 delete

var sql = 'delete from song  where name="I can\'t stop me"';
conn.query(sql, function(err,rows,fields){
  console.log(rows.name); // 대상으로 하는 행 없으므로 의미 x
})
conn.end();
var sql = 'delete from song  where name=?';
var params = ["I can't stop me"];
conn.query(sql, params, function(err,rows,fields){
  console.log(rows.name); // 대상으로 하는 행 없으므로 의미 x
})
conn.end();

출처:
https://junspapa-itdev.tistory.com/10
https://velog.io/@nayonsoso/Node.js-%EB%A1%9C-MySQL-%EC%A0%9C%EC%96%B4%ED%95%98%EA%B8%B0

profile
앱&웹개발(flutter, vuejs, typescript, react), 인공지능(nlp, asr, rl), 백엔드(nodejs, flask, golang, grpc, webrtc, aws, msa, nft, spring cloud, nest.js), 함수형 프로그래밍(scala, erlang)을 공부하며 정리합니다.

0개의 댓글