1. 程式人生 > 資料庫 >【Node.js】原生Node操作MySQL

【Node.js】原生Node操作MySQL

原生Node操作MySQL

初始化專案

npm  init -y  

下載mysql模組

npm install mysql 
(1) 請求模組
const mysql=require("mysql")
(2) 建立連線並配置連線引數

使用mysql的createConnection() 方法去建立一個連線,返回一個連線物件

需要傳遞一個json作為引數,配置host主機 ,port埠, user資料庫賬號 , password資料庫密碼 , database資料名

let connection=mysql.createConnection({
    host:"127.0.0.1",//  主機名、ip地址
    port:3306,// mysql 的埠號
    user:"root",// 賬戶
    password:"root",//密碼
    database:"test"// 要連線的資料庫
})
(3) 發起連線

使用連線物件的connect() 方法去發起連線

connection.connect();
(4) 操作資料

使用連線物件的query方法去執行curd語句,並得到結果

// connection.query(sql語句,回撥函式)
connection.query(`SELECT * FROM star`,(err,results)=>{
    console.log(err,"錯誤引數");
    console.log(results);
})
(5) 關閉連線

使用連線物件的的end() 方法關閉連線

// 4、如果不需要操作資料庫了,就關係連線。但是不要隨便關,關掉就不能請求資料了
connection.end()

程式碼例項:

const express = require('express');
let app = express();
const mysql = require('mysql');

// create connection
let connection = mysql.createConnection({
    host: "127.0.0.1",
    port: 3306,
    user: "root",
    password: "root",
    database: "test"
})

// connect
connection.connect();
// console.log(connection);

// realize port
app.get("/getStar", (req, res) => {
    let sql = `SELECT * from star WHERE starId = 2`;
    connection.query(sql, (err, results) => {
        // console.log(err, "錯誤引數"); // null 錯誤引數
        // console.log(results);
        /* 
        [
            RowDataPacket {
                starId: 2,
                firstName: 'Jay',
                lastName: 'Chou',
                occupation: 'singer',
                extension: null
            }
        ]
        */
        if (!err) {
            res.send({
                msg: "success",
                status: 200,
                result: results
            })
        } else {
            res.send({
                msg: "fail",
                status: 404,
                err_data: err
            })
        }

    })
})

app.listen(3000, () => {
    console.log(`Port 3000 is listening.....`);
})

返回結果

Request

localhost:3000/getStar

Response
在這裡插入圖片描述