1. 程式人生 > 程式設計 >Node.js如何在專案中操作MySQL

Node.js如何在專案中操作MySQL

目錄
  • 1、在專案中操作 的步驟
  • 2、安裝與配置 mysql 模組
    • 1、安裝 mysql 模組
    • 2、配置 mysql 模組
    • 3、測試 mysql 模組能否正常工作
  • 3、使用 mysql 模組操作 MySQL
    • 1、查詢資料
    • 2、插入資料
    • 3、插入資料的便捷方式
    • 4、更新資料
    • 5、更新資料的便捷方式
    • 6、刪除資料
    • 7、標記刪除

1、在專案中操作 MySQL的步驟

(1)安裝操作 MySQL 資料庫的第三方模組(mysql)

(2)通過 mysql 模組連線到 MySQL 資料庫

(3)通過 mysql 模組執行 SQL 語句

在這裡插入圖片描述

2、安裝與配置 mysql 模組

1、安裝 mysql 模組

Mysql 模組是託管於 npm 上的第三方模組。它提供了在 Node. 專案中連線和操作 Myhttp://www.cppcns.com

SQL 資料庫的能力。

想要在專案中使用它,需要先執行如下命令,將 mysql 安裝為專案的依賴包:

npm install mysql

如下:

在這裡插入圖片描述

2、配置 mysql 模組

如下圖,我的MySQL 資料庫中有如下資料:

在這裡插入圖片描述

在使用 mysql 模組操作 MySQL 資料庫之前,必須先對 mysql 模組進行必要的配置,主要的配置步驟如下:

//匯入模組
const mysql = require('mysql')
//建立與mysql資料庫的聯絡
const db = mysql.createPool({
    host:'127.0.0.1',//資料庫的IP地址
    user:'root',//登入資料庫的賬號
    password:'******',//登入資料庫的密碼
    database:'bear2'     //指定要操作哪個資料庫
})

3、測試 mysql 模組能否正常工作

呼叫 db.query() 函式,指定要執行的 SQL 語句,通過回撥函式拿到執行的結果:

//測試mysql能否正常工作
db.query('SELECT 1',(err,results)=>{
    if(err) return console.log(err.message)
    //能夠成功的執行SQL語句
    console.log(results)
})

測試結果為:

在這裡插入圖片描述

3、使用 mysql 模組操作 MySQL 資料庫

1、查詢資料

查詢 student 表中所有的資料:

db.query('SELECT * FROM STUDENT',results)=>{
    //查詢失敗
    if(err) return console.log(err.message)
    //查詢成功
    console.www.cppcns.com
log(results) })

結果為:

在這裡插入圖片描述

查詢成功,且得到的結果是一個數組。

2、插入資料

student表中新增資料, 其中 cname'小延'age16。示例程式碼如下:

//要插入到student表中的資料物件
const student = {cname:'小延',age:16}
//待執行的SQL語句,其中英文的?表示佔位符
const sqlStr = 'INSERT INTO student(cname,age)VALUES(?,?)'
//使用陣列的形式,依次為佔位符指定具體的值
db.query(sqlStr,[student.cname,student.age],results)=>{
    if(err) return console.log(err.message) //失敗
    if(results.affectedRows === 1){
        console.log('插入成功') //成功
    }
})

結果為:

在這裡插入圖片描述

開啟資料庫,檢視資料,即:

在這裡插入圖片描述

資料插入成功。

3、插入資料的便捷方式

向表中新增資料時,如果資料物件的每個屬性和資料表的欄位一一對應,則可以通過如下方式快速插入資料:

//要插入到student表中的資料物件
const student = {cid:9,cname:'小楊',age:18,class_id:1002}
//待執行的SQL語句,其中英文的?表示佔位符
const sqlStr = 'INSERT INTO student SET ?'
//直接將資料物件當做佔位符的值
db.query(sqlStr,student,results)=>{
    if(err) return console.log(err.message) //失敗
    if(results.affectedRows === 1) console.log('插入資料成功!')
})

結果為:

在這裡插入圖片描述

開啟資料庫,檢視資料,即:

在這裡插入圖片描述

資料插入成功。

4、更新資料

可以通過如下方式,更新表中的資料:

//要更新的資料物件
const student = {cid: 8,cname: '小欣',age: 18,class_id: 1002}
//要執行的SQL語句
const sqlStr = 'UPDATE student SET cname=?,age=?,class_id=? WHERE cid=?'
//呼叫db.query()執行SQL語句的同時,使用陣列依次為佔位符指定具體的值
db.query(sqlStr,student.age,student.class_id],results)=>{
    if(err) return console.log(err.message) //失敗
    if(results.affectedRows === 1) {
        console.log('更新資料成功!')
    }
})

結果為:

在這裡插入圖片描述

開啟資料庫,檢視資料,即:

在這裡插入圖片描述

資料更新成功。

5、更新資料的便捷方式

更新表資料時,如果資料物件的每個屬性和資料表的欄位一一對應,則可以通過如下方式快速更新表資料:

const student = {cid:1,cname:doJMQsk'小鈺',age:17,class_id:1003}
//要執行的SQL語句
const sqlStr = 'UPDATE student SET ? WHERE cid=?'
呼叫db.query()執行SQL語句的同時,使用陣列依次為佔位符指定具體的值
db.query(sqlStr,[student,student.cid],results)=>{
    if(err) return console.log(err.message) //失敗
    if(results.affectedRows === 1){
        console.log('資料更新成功!')  //成功
    }
})

結果為:

在這裡插入圖片描述

開啟資料庫,檢視資料,即:

在這裡插入圖片描述

資料更新成功。

6、刪除資料

在刪除www.cppcns.com資料時,最好根據 cid 這樣的唯一標識,來刪除對應的資料。示例如下:

//要執行的SQL語句
const sqlStr = 'DELETE FROM student WHERE cid=?'
//呼叫db.query()執行sql語句的同時,為佔位符指定確定的值
db.query(sqlStr,3,results)=>{
    if(err) return console.log(err.message)
    if(results.affectedRows === 1){  // 失敗
        console.log('刪除資料成功!') //成功
    }
})

結果為:

在這裡插入圖片描述

開啟資料庫,檢視資料,即:

在這裡插入圖片描述

刪除資料成功。

需要注意的是:如果SQL語句有多個佔位符,則必須為每個佔位符指定具體的值,如果SQL語句只有一個佔位符,則可以省略陣列。

7、標記刪除

使用 DELETE 語句,會把真正的把資料從表中刪除掉。為了保險起見,推薦使用標記刪除的形式,來模擬刪除的動作。

所謂的標記刪除,就是在表中設定類似於 class_id 這樣的狀態欄位,來標記當前這條資料是否被刪除。

當用戶執行了刪除的動作時,我們並沒有執行 DELETE 語句把資料刪除掉,而是執行了 UPDATE 語句,將這條資料對應的class_id欄位標記為刪除即可。

//標記刪除:使用UPDATE語句代替DELETE語句;只更新資料的狀態,並沒有真正刪除。
db.query('UPDATE student SET class_id=? WHERE cid=?',[1000,6],results)=>{
    if(err) return console.log(err.message)
    if(results.affectedRows === 1){  // 失敗
        console.log('標記刪除成功!') //成功
    }
})

結果為:

在這裡插入圖片描述

開啟資料庫,檢視資料,即:

在這裡插入圖片描述

標記刪除成功。

以上就是Node.js如何在專案中操作MySQL的詳細內容,更多關於Node.js操作MySQL的資料請關注我們其它相關文章!