1.在專案中操作資料庫的步驟
1.安裝操作 MySQL 資料庫的第三方模塊(mysql)
2.通過 mysql 模塊連接到 MySQL 資料庫
3.通過 mysql 模塊執行 SQL 陳述句

2.安裝與配置 mysql 模塊
2.1安裝 mysql 模塊
mysql 模塊是托管于 npm 上的第三方模塊,它提供了在 Node.js 專案中連接和操作 MySQL 資料庫的能力,想要在專案中使用它,需要先運行如下命令,將 mysql 安裝為專案的依賴包
npm i mysql
2.2配置 mysql 模塊
在使用 mysql 模塊操作 MySQL 資料庫之前,必須先對 mysql模塊進行必要的配置,主要的配置步驟如下
// 1. 匯入 mysql 模塊
var mysql = require('mysql')
// 2. 建立與 mysql 資料庫的連接
var db = mysql.createPool({
host: '127.0.0.1', // 資料庫的 ip 地址
user: 'root', // 登錄資料庫的賬號
password: 'root', // 登錄資料庫的密碼2
database: 'my_db_01' // 指定要操作哪個資料庫
})
3.測驗 mysql 模塊能否正常作業
1.呼叫 db.query() 函式,指定要執行的 SQL 陳述句,通過回呼函式拿到執行的結果
2.以下是示例
//檢測mysql模塊能否正常作業
db.query("select 1" ,(err,data)=>{
if(err) return console.log(err.message)
//只有能列印出[RowDataPacket{"1":1}]的結果,就證明資料庫鏈接正常
console.log(data)
})
4.創建一個服務器啟動檔案然后安裝對應的包
//安裝express包
npm i express
//安裝mysql包
npm i mysql
5.我們先要創建一個資料庫中的表,再對表中的資料進行增刪改查

6.匯入安裝的包和一些配置項
//匯入mysql
const mysql = require("mysql");
//匯入express
const express = require("express");
//創建服務器實體
const app = express();
//配置決議表單資料的中間件
app.use(express.urlencoded({ extended: false }))
//配置資料庫的相關資訊
const db = mysql.createPool({
host: '127.0.0.1', // 資料庫的 ip 地址
user: 'root', // 登錄資料庫的賬號
password: 'root', // 登錄資料庫的密碼
database: "web67wxw2" //指定操作的資料庫
})
7.使用 select 陳述句查詢資料
1.需求:查詢 users 表中所有的資料
2.案例代碼
//查詢資料
app.get("/books", (req, res) => {
// 用db.query測驗 mysql 模塊能夠正常運行
db.query('select * from books', (err, data) => {
// mysql 模塊如果錯誤,err 中會回傳錯誤資訊
if (err) return console.log(err.message)
// 能夠成功的執行 SQL 陳述句
res.send({
status: 0,
message: "獲取成功",
data
})
})
})
8.使用 insert into 陳述句插入資料
1.需求: 向 users 表中新增資料
2.案例代碼
//向資料庫插入資料
app.post("/addbooks", (req, res) => {
const data = req.body
const sql = "insert into books set ?"
// 用db.query測驗 mysql 模塊能夠正常運行
db.query(sql, data, (err, data) => {
// mysql 模塊如果錯誤,err 中會回傳錯誤資訊
// console.log(data);
if (err) return console.log(err.message)
if (data.affectedRows !== 1) return console.log("資料插入失敗");
// 能夠成功的執行 SQL 陳述句
res.send({
status: 0,
message: "資料插入成功"
})
})
})
9.使用 update 陳述句更新資料
1.需求:更新表中的資料
2.案例代碼
//向資料庫更新資料
app.post("/updatebooks", (req, res) => {
const data = req.body;
// return console.log(data);
//定義更新的sql模板
const sql = "update books set ? where id = ?"
//啟動sql
db.query(sql, [data, data.id], (err, data) => {
if (err) return console.log(err.message);
if (data.affectedRows !== 1) return console.log("更新失敗");
res.send({
status: 0,
messge: "更新成功"
})
})
})
10.使用 delete 陳述句洗掉資料
1.在洗掉資料時,推薦根據 id 這樣的唯一標識,來洗掉對應的資料
2.注意:如果 sql 陳述句中有多個占位符,則必須使用資料為每個占位符指定具體的值,如果 sql 陳述句中只有一個占位符,則可以省略
3.案例代碼
//洗掉資料庫資料
//洗掉id為10的那條資料
const sql = "delete from books where id = ?"
db.query(sql, 10, (err, data) => {
if (err) return console.log(err.message);
//注意:執行delete陳述句之后,結果也是一個物件,也有affectedRows屬性
if (data.affectedRows === 1) return console.log("洗掉資料成功");
})
以上就是 使用node.js實作對mysql資料庫的增刪改查的所有內容了,我寫的代碼均為案例代碼,僅供參考,你們可以根據實際情況做一些修改,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/317849.html
標籤:其他
上一篇:SQL系列DDL篇資料庫語言
