利用Express+MySQL進行簡單的增刪改查

ElemSN發表於2020-08-13

前言:

隨著JavaScript語言的快速發展,其功能越來越強大,能做的事情也越來越多。

目前,web前端工程師能夠利用NodeJS搭建服務,也成為了越來越多網際網路公司對前端開發的硬性要求。

本文主要介紹基於NodeJS封裝的Express框架進行對MySQL關聯式資料庫的CURD(增刪改查)

環境搭建:

1.搭建Node環境:

這裡不再贅述,戳這兒去安裝NodeJS環境http://nodejs.cn/download/

安裝完成後,在終端分別輸入以下兩個命令:

node -v //出現版本號即可 如:v12.18.3
npm -v //出現版本號即可 如:6.14.6

2.安裝Express和MySQL相關庫:

新建一個目錄,在目錄中建立一個js檔案,例如curd.js。

在該目錄中開啟終端,輸入以下命令,安裝Express和MySQL庫。

npm install mysql express --save //安裝 mysql 和 express 並且注入專案依賴

另外,需要建立資料庫,我這裡建了個名字叫elemsn的庫名,並且裡邊建立了一個資料表user。

在user表中:

  uid:int型別,主鍵自增。(表示序號)

  uname:varchar型別。(表示名字)

  uage:int型別。(表示年齡)

3.搭建一個基於Express的簡單服務:

開啟curd.js,有以下程式碼:

const mysql = require('mysql'); // 引入mysql模組
const express = require("express");  // 引入express模組
const app = express();  // 例項化express模組 用app來表示

let con = mysql.createConnection({ // 配置mysql資料庫
    host: 'localhost',  // 主機名
    port: '3306',  // 預設埠
    user: 'root',  // 連線的名字
    password: 'root',  // 連線的密碼
    database: 'elemsn'  // 連線的資料庫
});

con.connect(); // 與資料庫建立連線

app.listen(8033, () => {  // 監聽8033埠
    console.log("8033啟動中...");
});

這樣一來,服務算是搭建好了,在終端輸入:

node curd.js 

“curd”是我的js檔名稱,後邊的“.js”可省略。

按回車後,出現以下資訊,就ok了。

 

增刪改查:

注意:

  • 以下程式碼都用了try-catch語句,保證程式的健壯性。
  • 為了方便測試,下文利用postman介面除錯軟體來模擬請求。

在此之前,本人已經在user表中插入了兩條資料,如下圖:

1.查詢資料:

//查詢資料
app.get('/select', function(req, res) {
    var sql = 'select * from user'; //sql查詢語句:查詢user表中所有資料
    con.query(sql, function(err, result) { //連線資料庫 傳入sql語句 回撥函式得到結果
        try {
            res.send(result) //查詢結果響應給請求方
        } catch (err) {
            console.log("查詢失敗");
        }
    });
})

 

利用postman,查詢user表中所有的資料:

 

 我們可以看到響應資料,通過解析json就可以將資料渲染了。

2.增添資料:

//增加資料
app.post('/add', function(req, res) {
    var sql = 'insert into user set  uname=? , uage=?'; // 這邊的"?"是SQL的模板語法
    var params = [req.query.uname, req.query.uage]  // 這邊的陣列引數與上邊的"?"一一對映
    con.query(sql, params, function(err, result) {
        try {
            res.send('增加資料成功');
        } catch (err) {
            console.log('新增資料失敗');
        }
    });
})

利用postman,給user表增加一個25歲的Joy:

 

然後user表中就多了一條我們剛新增的資料。

 

3.修改資料:

//修改資料
app.put('/update', function(req, res) {
    var sql = 'update user set uname=?, uage=? where uid=?';
    var params = [req.query.uname, req.query.uage, req.query.uid]
    con.query(sql, params, function(err) {
        try {
            res.send('修改資料成功');
        } catch (err) {
            console.log('修改資料失敗');
        }
    });
})

利用postman,將我們剛剛新增的Joy年齡改為26歲:

 

 也許表中有不止一條名叫Joy的資料,所以必須傳uid,通過主鍵來定位修改:

4.刪除資料:

//刪除資料
app.delete('/delete', function(req, res) {
    var sql = 'delete from user where uid= ?'
    var params = [req.query.uid];
    con.query(sql, params, function(err) {
        try {
            res.send('刪除資料成功');
        } catch (err) {
            console.log('刪除資料失敗');
        }
    });
})

利用postman,把Joy這條資料移除:

 

 同理,刪除一條資料,必須用主鍵定位:

 

到此為止,我們完整進行了增刪改查。

注意:

  :一般用post請求。

  :一般用delete請求。

  :一般用put請求。

  :一般用get請求。

  但這只是建議,如果你想用get請求進行一整系列的增刪改查,一定是可行的,但並不推薦。

  原創地址:https://www.cnblogs.com/ElemSN/p/13498522.html

 

相關文章