Will find a way
NodeJs에서 MySql 외장 모듈 설치 사용 본문
목차
1. MySql 모듈
2. mysql 모듈 설치
3. mysql 모듈 사용
1. MySql 모듈
MySql 은 NodeJs의 외장 모듈을 통해 이용할 수 있으며 MySql 자체는 아니다.
NodeJs와 이어주는 역할, 쉽게 말해 드라이버라 생각하면 된다.
특징
- MySql 콜백방식
- MySql2 Promise 기반으로 사용
- MySql2 공식문서에서도 권장하는 모듈
2. MySql 모듈 설치
npm i mysql2
3. MySql 모듈 사용
- require로 MySql2 외장 모듈 가져오기
const mysql = require("mysql2");
- createConnection : 연결 요청을 보내고 반환받은 객체를 통해 쿼리문을 요청할 수 있는 메서드를 제공한다.
- user : 유저 이름
- password : 유저의 비밀번호 (mysql 비밀번호)
- database : 데이터베이스 이름
- multipleStatements : 다중 쿼리를 실행할 수 있다
const mysqlConnect = mysql.createConnection({
user : "root",
password : "1234",
database : "database1",
multipleStatements : true
});
- query 사용
- query 메서드 : 쿼리문을 매개변수로 전달하면 실행결과를 받을 수 있다.
테이블을 생성하는 구문
mysqlConnect.query("SELECT * FROM products", (err, res) => {
if(err) {
console.log("테이블이 없어");
const sql = "CREATE TABLE products(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(10), number INT)";
mysqlConnect.query(sql);
console.log("테이블이 없어서 생성");
} else {
console.log("테이블이 있어");
}
});
데이터 추가
VALUES (?, ?) ?에 쿼리문을 전달할 수 있다.
const createSql = "INSERT INTO products (name, number) VALUES (?, ?)";
mysqlConnect.query(createSql, ["jaka2", "123"], (err) => {
if(err)
console.log(err);
console.log("글이 추가됬어");
});
데이터 삭제
const deleteSql = "DELETE FROM products WHERE id =?;";
mysqlConnect.query(deleteSql, [1], (err) => {
if(err)
console.log("삭제할 데이터를 못 찾았어");
console.log("정상적으로 삭제 완료");
});
데이터 수정
const updateSql = "UPDATE products SET name = ?, number = ?, WHERE id = ?";
mysqlConnect.query(updateSql, ["jaka123", "456", "3"], (err) => {
if(err)
console.log(err);
console.log("데이터 수정 완료");
});
'BackEnd > NodeJs' 카테고리의 다른 글
[NodeJs] http 모듈 : 응답 요청 (0) | 2025.02.22 |
---|---|
[NodeJs] 템플릿 엔진 EJS 에 대해서 (0) | 2024.06.29 |
NodeJs fs 모듈 (파일 시스템) (0) | 2024.06.18 |
3-way-handshake 코드 구현 (0) | 2024.06.18 |
스트림(Stream) 사용 예제 (0) | 2024.06.12 |