- 전체
- HTML
- Web Design (웹디자인)
- XE 응용 개발
- wordpress plugin dev
- Javascript & JavaScript Application
- MEAN Stack : full stack javascript
- angular js & ionic framework
- bootstrap
- WebGL, Three.js and Babylon.js
- restful api design
- mobile web
- node.js 응용
- Cloud Service 응용
- 웹 어셈블리 개발 [WASM, WebAssembly]
- 마이크로서비스, MSA (microservice architecture)
- WebGL / WebGPU
- next.js 개발
- micro frontend (마이크로프론트앤드)
- 전자상거래/쇼핑몰
- 서버 클라우드 (aws, azure, google)
node.js 응용 [node.js 응용] Node.js | MySQL과 연동(mysql모듈) - CRUD 2/2
2023.03.31 20:38
[node.js 응용] Node.js | MySQL과 연동(mysql모듈) - CRUD 2/2
DELETE
// 모듈 추출
var express = require('express');
var ejs = require('ejs');
var mysql = require('mysql');
var bodyParser = require('body-parser');
var fs = require('fs');
//서버 생성
var app = express();
var client = mysql.createConnection({
user:'root',
password:'1234',
database:'company'
})
app.use(bodyParser.urlencoded({extended:false}));
app.listen(52273, function(){
console.log('Server running at http://127.0.0.1:52273');
});
//라우터 미들웨어 설정
app.get('/', function(request, response){
//파일 읽기
fs.readFile('list.html', 'utf8', function(error, data){
//데이터베이스 쿼리 실행
client.query('select * from products', function(error, results){
//응답
response.send(ejs.render(data, {
data: results
}));
});
});
});
app.get('/delete/:id', function (request, response) {
//데이터베이스 쿼리 실행
client.query('DELETE FROM products WHERE id=?', [request.params.id], function(){
response.redirect('/');
})
});
app.get('/insert', function (request, response) { });
app.post('/insert', function (request, response) { });
app.get('/edit/:id', function (request, response) { });
app.post('/edit/:id', function (request, response) { });
DELETE 버튼 누르면 DB에서까지 삭제됨.
INSERT
// 모듈 추출
var express = require('express');
var ejs = require('ejs');
var mysql = require('mysql');
var bodyParser = require('body-parser');
var fs = require('fs');
//서버 생성
var app = express();
var client = mysql.createConnection({
user:'root',
password:'1234',
database:'company'
})
app.use(bodyParser.urlencoded({extended:false}));
app.listen(52273, function(){
console.log('Server running at http://127.0.0.1:52273');
});
//라우터 미들웨어 설정
app.get('/', function(request, response){
//파일 읽기
fs.readFile('list.html', 'utf8', function(error, data){
//데이터베이스 쿼리 실행
client.query('select * from products', function(error, results){
//응답
response.send(ejs.render(data, {
data: results
}));
});
});
});
app.get('/delete/:id', function (request, response) {
//데이터베이스 쿼리 실행
client.query('DELETE FROM products WHERE id=?', [request.params.id], function(){
response.redirect('/');
})
});
app.get('/insert', function (request, response) {
fs.readFile('insert.html', 'utf8', function(error, data){
//응답
response.send(data);
})
});
app.post('/insert', function (request, response) {
var body = request.body;
client.query('insert into products (name, modelnumber, series) values(?, ?, ?)', [
body.name, body.modelnumber, body.series
], function(){
response.redirect('/');
})
});
app.get('/edit/:id', function (request, response) { });
app.post('/edit/:id', function (request, response) { });
INSERT 입력양식
insert.html
<!DOCTYPE html>
<html>
<head>
<title>Insert Page</title>
</head>
<body>
<h1>Insert Page</h1>
<hr />
<form method="post">
<fieldset>
<legend>INSERT DATA</legend>
<table>
<tr>
<td><label>Name<label></td>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<td><label>Model Number<label></td>
<td><input type="text" name="modelnumber" /></td>
</tr>
<tr>
<td><label>Series<label></td>
<td><input type="text" name="series" /></td>
</tr>
</table>
<input type="submit" />
</fieldset>
</form>
</body>
</html>
EDIT
// 모듈 추출
var express = require('express');
var ejs = require('ejs');
var mysql = require('mysql');
var bodyParser = require('body-parser');
var fs = require('fs');
//서버 생성
var app = express();
var client = mysql.createConnection({
user:'root',
password:'1234',
database:'company'
})
app.use(bodyParser.urlencoded({extended:false}));
app.listen(52273, function(){
console.log('Server running at http://127.0.0.1:52273');
});
//라우터 미들웨어 설정
app.get('/', function(request, response){
//파일 읽기
fs.readFile('list.html', 'utf8', function(error, data){
//데이터베이스 쿼리 실행
client.query('select * from products', function(error, results){
//응답
response.send(ejs.render(data, {
data: results
}));
});
});
});
app.get('/delete/:id', function (request, response) {
//데이터베이스 쿼리 실행
client.query('DELETE FROM products WHERE id=?', [request.params.id], function(){
response.redirect('/');
})
});
app.get('/insert', function (request, response) {
fs.readFile('insert.html', 'utf8', function(error, data){
//응답
response.send(data);
})
});
app.post('/insert', function (request, response) {
var body = request.body;
client.query('insert into products (name, modelnumber, series) values(?, ?, ?)', [
body.name, body.modelnumber, body.series
], function(){
response.redirect('/');
})
});
app.get('/edit/:id', function (request, response) {
// 파일을 읽습니다.
fs.readFile('edit.html', 'utf8', function (error, data) {
// 데이터베이스 쿼리를 실행합니다.
client.query('SELECT * FROM products WHERE id = ?', [
request.params.id
], function (error, result) {
// 응답합니다.
response.send(ejs.render(data, {
data: result[0]
}));
});
});
});
app.post('/edit/:id', function (request, response) {
// 변수를 선언합니다.
var body = request.body
// 데이터베이스 쿼리를 실행합니다.
client.query('UPDATE products SET name=?, modelnumber=?, series=? WHERE id=?', [
body.name, body.modelnumber, body.series, request.params.id
], function () {
// 응답합니다.
response.redirect('/');
});
});
edit.html
<!DOCTYPE html>
<html>
<head>
<title>Edit Page</title>
</head>
<body>
<h1>Edit Page</h1>
<hr />
<form method="post">
<fieldset>
<legend>Edit Data</legend>
<table>
<tr>
<td><label>Id<label></td>
<td><input type="text" name="id" value="<%= data.id %>" disabled/></td>
</tr>
<tr>
<td><label>Name<label></td>
<td><input type="text" name="name" value="<%= data.name %>" /></td>
</tr>
<tr>
<td><label>Model Number<label></td>
<td><input type="text" name="modelnumber" value="<%= data.modelnumber %>" /></td>
</tr>
<tr>
<td><label>Series<label></td>
<td><input type="text" name="series" value="<%= data.series %>" /></td>
</tr>
</table>
<input type="submit" />
</fieldset>
</form>
</body>
</html>
[출처] https://velog.io/@virtualplastic/Node.js-MySQL%EA%B3%BC-%EC%97%B0%EB%8F%99mysql%EB%AA%A8%EB%93%88-CRUD-2n
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 4 |
AngularJS 개념 및 기초잡기
| 졸리운_곰 | 2017.01.29 | 583 |
| 3 |
AngularJS
| 졸리운_곰 | 2017.01.29 | 620 |
| 2 |
[tutorial] AngularJS 튜토리얼 - 1
| 졸리운_곰 | 2017.01.29 | 356 |
| 1 |
[튜토리얼/번역] AngularJS Modules (AngularJS 모듈)
| 졸리운_곰 | 2017.01.29 | 674 |

