node에서 Mysql를 사용하기 위해서는 mysql 이라는 모듈이 필요하다 .
Package가 있는 폴더에 들어가서 위 명령어를 통해서 mysql 모듈을 다운받아 준다.
이제 코드를 통해서 node에서 어떻게 mysql를 사용하는지 알아보자.
mysql 모듈 로딩
var mysql = require('mysql');
다음처럼 Connection을 하면 된다 . 물론 password는 사용자가 처음에 설정한 password이다.
var conn = mysql.createConnection(
{
host: 'localhost',
user: 'root',
password: 'userpassword',
database: 'First'
});
mysql.connect를 생성한 변수를 connect 시킨다
// 연결 하기
conn.connect();
// Mysql 과 연결만 시켰을 때의 화면
다음 화면은 사용자의 Mysql에 저장되어 있는 Data들을 보여준다 .
// SELECT
다음처럼 , sql 문을 사용해서 조작할 수 있으며 , 위에서 저장한 conn을 통한 query문을 던질수 있다.
이 query문은 sql 문과 function을 매개변수로 갖으며 , function은 err , rows , fields 라는 매개변수를 갖는다.
err 는 말그대로 error 이며 , rows는 칼럼들이며 , fields는 칼럼의 속성값들이다.
var sql = 'SELECT * FROM topic';
conn.query(sql, function(err, rows, fields)
{
if(err)
{
console.log(err);
}
else
{
console.log('rows', rows);
console.log('fields', fields);
}
});
// SELECT + rows.length
다음은 SELECT 와 같지만 , 출력을 할 때 , for문을 사용해서 rows가 존재하는 수만큼 모든 title을 출력시키는 것.
var sql = 'SELECT * FROM topic';
conn.query(sql, function(err, rows, fields)
{
if(err)
{
console.log(err);
}
else
{
for(var i=0; i<rows.length; i++)
{
console.log(rows[i].title);
console.log(rows[i].description);
console.log(rows[i].author);
}
}
});
// VALUES 에 치환자 ? 사용 , INSERT
INSERT INTO table명 (Colums..._ VALUES(? ...)
을 통해서 데이터를 집어넣을 수 있따.
이 때 VALUES의 값으로 '?' 가 오는데 이를 치환자라 하며 , 다양하게 값들을 다룰수 있다.
그리고 , 하나의 변수 params를 통해서 조작할 수 있다 .
var sql = 'INSERT INTO topic (title, description, author) VALUES(?,?,?)';
var params = ['name', 'kiminwoo3', 'By kiminwoo3'];
conn.query(sql, params, function(err, rows, fields)
{
if(err)
{
console.log(err);
}
else
{
console.log(rows.insertId);
}
})
// UPDATE
UPDATE를 통해서 값을 바꿀 수 있다.
쌍으로 SET 이 오며 , WHERE를 통해서 조건을 줄 수 있다.
var sql = 'UPDATE topic SET title=?, description=? WHERE id=?';
var params = ['name', 'kiminwoo2', '1'];
conn.query(sql, params, function(err, rows, fields)
{
if(err)
{
console.log(err);
}
else
{
console.log(rows);
}
})
// DELETE
데이터를 삭제할 때 DELETE FROM TAble명 or DELETE FORM TABLE 명 WHERE ___ 로써 삭제가능하다.
var sql = 'DELETE FROM topic WHERE id=?';
var params = [1];
conn.query(sql, params, function(err, rows, fields)
{
if(err)
{
console.log(err);
}
else
{
console.log(rows);
}
})
// 연결 끊기
conn.end();
'졸업작품_preparing.... > MySQL' 카테고리의 다른 글
Table 에서 column 삭제하기 (0) | 2019.04.11 |
---|---|
MysqlDB 칼럼 공백 제거 (0) | 2019.04.05 |
Nodejs + Mysql Error: Cannot enqueue Handshake after already enqueuing a Handshake (2) | 2019.04.03 |
Bitnami mysql cmd에서 실행하기 (0) | 2019.02.24 |
MySQL 설치 및 사용방법 (0) | 2019.02.12 |
#IT #먹방 #전자기기 #일상
#개발 #일상