Node+Express連接MySQL實(shí)現(xiàn)增刪改查功能
一、在項(xiàng)目中安裝mysql 和 express
cnpm install mysql express --save
二、示例代碼
const express = require("express"); const app = express(); const mysql = require("mysql");
創(chuàng)建連接
const db = mysql.createConnection({ host:"localhost", user:"root", password:"root", database:"nodemysql" }) db.connect( (err) => { if(err) throw err; console.log('連接成功'); })
創(chuàng)建數(shù)據(jù)庫(kù)
app.get("/createdb",(req,res) => { let sql = "CREATE DATABASE nodemysql"; db.query(sql,(err,result) => { if(err){ console.log(err); }else{ console.log(result); res.send("Datebase create success...") } }) })
創(chuàng)建表
app.get("/createpoststable",(req,res) => { // 創(chuàng)建表 表名為posts id自增 title字符串長(zhǎng)度255 body字符串255 主鍵是ID let sql = "CREATE TABLE posts(id int AUTO_INCREMENT,title VARCHAR(255),body VARCHAR(255),PRIMARY KEY(ID))"; db.query(sql,(err,result) => { if(err){ console.log(err); }else{ console.log(result); res.send("posts表創(chuàng)建成功....") } }) })
插入數(shù)據(jù)
app.get("/addpost2",(req,res) => { let post = {title:"post two",body:"weasth"}; let sql = "INSERT INTO posts SET ?"; db.query(sql,post,(err,result) => { if(err){ console.log(err); }else{ console.log(result); res.send("post2 added....") } }) })
查詢(xún)內(nèi)容
app.get("/getposts",(req,res) => { let sql = "SELECT * FROM posts"; db.query(sql,(err,result) => { if(err){ console.log(err); }else{ console.log(result); // res.send("查詢(xún)成功") res.json(result) } }) })
查詢(xún)單條內(nèi)容
app.get("/getposts/:id",(req,res) => { let sql = `SELECT * FROM posts WHERE id = ${req.params.id}`; db.query(sql,(err,result) => { if(err){ console.log(err); }else{ console.log(result); res.json(result) } }) })
更新內(nèi)容
app.get("/updatepost/:id",(req,res) => { let newTitle = "update title"; let sql = `UPDATE posts SET title = '${newTitle}' WHERE id = ${req.params.id}`; db.query(sql,(err,result) => { if(err){ console.log(err); }else{ console.log(result); res.send(`update ${req.params.id} success....`) } }) })
刪除內(nèi)容
app.get("/deletepost/:id",(req,res) => { let sql = `DELETE FROM posts WHERE id = ${req.params.id}`; db.query(sql,(err,result) => { if(err){ console.log(err); }else{ console.log(result); res.send("刪除成功.....") } }) })
app.listen(3000, () => { console.log("服務(wù)器開(kāi)啟在3000端口...."); })
到此這篇關(guān)于Node+Express連接MySQL實(shí)現(xiàn)增刪改查功能的文章就介紹到這了,更多相關(guān)Node MySQL增刪改查內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
node.js缺少mysql模塊運(yùn)行報(bào)錯(cuò)的解決方法
前幾天在工作中需要利用node.js連接數(shù)據(jù)庫(kù),通過(guò)網(wǎng)上的教程連接后運(yùn)行卻報(bào)錯(cuò)了,然后趕緊查找解決的方法,通過(guò)測(cè)試與朋友的提點(diǎn),終于解決了這個(gè)問(wèn)題,現(xiàn)在將解決的方法分享給大家,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-11-11nodejs 實(shí)現(xiàn)釘釘ISV接入的加密解密方法
這篇文章主要介紹了nodejs 實(shí)現(xiàn)釘釘ISV接入的加密解密方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧,需要的朋友可以參考下2017-01-01使用Node.js腳本自動(dòng)統(tǒng)計(jì)代碼量的實(shí)現(xiàn)代碼
手動(dòng)統(tǒng)計(jì)代碼行數(shù)通常會(huì)耗費(fèi)大量時(shí)間和精力,為了提高統(tǒng)計(jì)效率并減少人為錯(cuò)誤,我們可以借助自動(dòng)化工具來(lái)完成這項(xiàng)任務(wù),本文將介紹如何使用 Node.js 腳本來(lái)自動(dòng)化統(tǒng)計(jì)項(xiàng)目代碼行數(shù),讓我們能夠輕松快捷地獲取項(xiàng)目的代碼量信息,需要的朋友可以參考下2023-12-12我的Node.js學(xué)習(xí)之路(三)--node.js作用、回調(diào)、同步和異步代碼 以及事件循環(huán)
本篇文章主要介紹了node.js的幾個(gè)重要的知識(shí)點(diǎn):node.js作用、回調(diào)、同步和異步代碼 以及事件循環(huán)2014-07-07利用node.js搭建簡(jiǎn)單web服務(wù)器的方法教程
本文主題是使用node來(lái)搭建最簡(jiǎn)單的web服務(wù)器,其后可以自己根據(jù)需要深入了解,目前在開(kāi)發(fā)過(guò)程中可以用來(lái)模擬與服務(wù)器進(jìn)行簡(jiǎn)單的交互,比如返回的資源控制等。需要的朋友可以參考學(xué)習(xí),下面來(lái)一起看看吧。2017-02-02詳解如何優(yōu)雅在webpack項(xiàng)目實(shí)現(xiàn)mock服務(wù)器
這篇文章主要為大家介紹了詳解如何優(yōu)雅在webpack項(xiàng)目實(shí)現(xiàn)mock服務(wù)器,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02node.js中的fs.existsSync方法使用說(shuō)明
這篇文章主要介紹了node.js中的fs.existsSync方法使用說(shuō)明,本文介紹了fs.existsSync方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12Node.js 中的流Stream模塊簡(jiǎn)介及如何使用流進(jìn)行數(shù)據(jù)處理
Node.js中的流(Stream)模塊用于高效處理流式數(shù)據(jù),包括可讀流、可寫(xiě)流、雙邊流和轉(zhuǎn)換流等,通過(guò)`fs.createReadStream`和`.pipe`方法可以方便地讀取文件并寫(xiě)入控制臺(tái)或處理網(wǎng)絡(luò)請(qǐng)求,在實(shí)際開(kāi)發(fā)中,需要注意錯(cuò)誤處理、資源管理和性能優(yōu)化等問(wèn)題2025-03-03