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