前言:
隨著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