国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

express搭建服務(wù)器并連接mysql數(shù)據(jù)庫

這篇具有很好參考價值的文章主要介紹了express搭建服務(wù)器并連接mysql數(shù)據(jù)庫。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言:express是一個輕量級的node.js web應(yīng)用程序開發(fā)框架,為web和移動應(yīng)用程序提供一組強(qiáng)大的功能,可以幫助我們快速搭建基于nodejs的web應(yīng)用。通俗來說:express可以搭建服務(wù)器,接受前端發(fā)送過來的請求,并連接數(shù)據(jù)庫,通過一系列操作做出響應(yīng)發(fā)送到前端。

注意:搭建服務(wù)器是在項目根目錄下新建的server.js,而連接mysql時,是在項目根目錄下創(chuàng)建了一個db的文件夾,文件夾內(nèi)新建了index.js文件,之后該文件拋出,在server.js文件中引入,話不多說,直接上項目目錄結(jié)構(gòu):

express連接數(shù)據(jù)庫,node.js,express,javascript,mysql,node.js,數(shù)據(jù)庫

一、搭建服務(wù)器:

//
// 使用express搭建web服務(wù)器的前提條件是電腦中已經(jīng)安裝nodejs
// 之后進(jìn)入到項目終端輸入:npm i express
//                     npm i mysql安裝所需要用到的包
//
//用express搭建服務(wù)器并連接數(shù)據(jù)庫的詳細(xì)步驟如下
//首先新建一個后綴名為.js的文件
//1、引入express包
const express=require('express');
//2、實例化express對象
const app= express();
//3、開啟端口進(jìn)行監(jiān)聽發(fā)送過來的請求:包含端口號,和一個回調(diào)函數(shù)用于告知服務(wù)器是否啟動成功
app.listen( 3000 , () => {
	console.log("服務(wù)器已經(jīng)成功啟動,并在http://127.0.0.1:3000/上運行")
})
//4、接下來就是根據(jù)發(fā)送過來的路由請求進(jìn)行處理并相應(yīng)
app.get('/login',(req,res)=>{
	res.send("ok")
})

? ? ? ? 到此為止,使用express搭建服務(wù)器成功,此時打開任意瀏覽器,輸入http://127.0.0.1:3000/login進(jìn)行訪問,即可得到服務(wù)器端返回的ok。

二、連接mysql??

//
//在連接數(shù)據(jù)庫之前需要進(jìn)入項目終端輸入:npm i mysql
//
//之后在項目目錄下新建文件夾db,db目錄下新建文件index.js
//
//然后將是引入mysql的詳細(xì)步驟
//
//
// 1、引入mysql
const mysql = require("mysql");
// 2、建立一個連接池
const db = mysql.createPool({
  host: "127.0.0.1", // 數(shù)據(jù)庫的IP地址(本地的或者是云服務(wù)器的都可以)
  user: "root",//用戶名
  password: "654321",
  database: "sqltest", //指定要操作哪個數(shù)據(jù)庫
});
 
 
 // 檢測數(shù)據(jù)庫是否連接成功
 // db.query("select 1", (err, results) => {
 //   if (err) return console.log(err);
 //   console.log(results);
 // });
 //如果能打印出[ RowDataPacket { '1': 1 } ]代表連接數(shù)據(jù)庫成功
 
 
// 將文件暴露出去
module.exports = db

三、增、刪、改、查

????????搭建服務(wù)器成功并且連接mysql成功之后嘗試進(jìn)行操作數(shù)據(jù)庫里的數(shù)據(jù),進(jìn)行增刪改查。

操作之前的準(zhǔn)備:在數(shù)據(jù)庫中新建一個表,并添加幾條數(shù)據(jù),表名為test,上圖:

1、設(shè)計表:express連接數(shù)據(jù)庫,node.js,express,javascript,mysql,node.js,數(shù)據(jù)庫

2、添加幾條數(shù)據(jù):?

express連接數(shù)據(jù)庫,node.js,express,javascript,mysql,node.js,數(shù)據(jù)庫

//
// 使用express搭建web服務(wù)器的前提條件是電腦中已經(jīng)安裝nodejs
// 之后進(jìn)入到項目終端輸入:npm i express
//                     npm i mysql安裝所需要用到的包
//
//用express搭建服務(wù)器并連接數(shù)據(jù)庫的詳細(xì)步驟如下
//首先新建一個后綴名為.js的文件
//1、引入express包,拋出的db/index.js包
const express=require('express');
const db=require('./db/index.js')
//2、實例化express對象
const app= express();
//3、開啟端口進(jìn)行監(jiān)聽發(fā)送過來的請求:包含端口號,和一個回調(diào)函數(shù)用于告知服務(wù)器是否啟動成功
app.listen( 3000 , () => {
	console.log("服務(wù)器已經(jīng)成功啟動,并在http://127.0.0.1:3000/上運行")
})
//4、接下來就是根據(jù)發(fā)送過來的路由請求進(jìn)行處理并相應(yīng)
app.get('/login',(req,res)=>{
	res.send("ok")
})

//5、查——————————————————————————————————————————————————————————————————————————————————
app.get("/infor", (req, res) => {
  // 定義sql語句:意思為查詢test表
  const sql = "select * from test";
  // 執(zhí)行sql語句
  db.query(sql, (err, result) => {
    // 執(zhí)行失敗
    if (err) {
      return res.send({ state: 1, message: err });
    }
	//執(zhí)行成功后返回,表中的數(shù)據(jù)
    return res.send({ state: 0, message: "查詢成功", data: result });
  });
});

????????此時打開瀏覽器訪問:http://127.0.0.1:3000/infor就會返回test表中所有的數(shù)據(jù),在這個過程中,需要操作數(shù)據(jù)庫數(shù)據(jù),而操作數(shù)據(jù)庫的基本步驟為:

? ? ? ? 1、定義sql語句,

? ? ? ? 2、使用db.query()方法執(zhí)行sql語句,第一個參數(shù)放sql語句,緊接著是一個箭頭函數(shù),其中,第一個參數(shù)是執(zhí)行失敗的信息,第二個參數(shù)是執(zhí)行成功時所返回的結(jié)果。如果err存在,則執(zhí)行失敗,否則,執(zhí)行成功。

express連接數(shù)據(jù)庫,node.js,express,javascript,mysql,node.js,數(shù)據(jù)庫

? "insert into login_table (username,password) values(?,?);"

//
// 使用express搭建web服務(wù)器的前提條件是電腦中已經(jīng)安裝nodejs
// 之后進(jìn)入到項目終端輸入:npm i express
//                     npm i mysql安裝所需要用到的包
//
//用express搭建服務(wù)器并連接數(shù)據(jù)庫的詳細(xì)步驟如下
//首先新建一個后綴名為.js的文件
//1、引入express包,拋出的db/index.js包
const express=require('express');
const db=require('./db/index.js')
//2、實例化express對象
const app= express();
//3、開啟端口進(jìn)行監(jiān)聽發(fā)送過來的請求:包含端口號,和一個回調(diào)函數(shù)用于告知服務(wù)器是否啟動成功
app.listen( 3000 , () => {
	console.log("服務(wù)器已經(jīng)成功啟動,并在http://127.0.0.1:3000/上運行")
})
//4、接下來就是根據(jù)發(fā)送過來的路由請求進(jìn)行處理并相應(yīng)
app.get('/login',(req,res)=>{
	res.send("ok")
})


//5、增
app.get("/increase", (req,res)=>{
  // 先取到要增加的字段值
  const addInfor = req.query
  // 定義sql語句
  const sql = "insert into test set ?"
  // 執(zhí)行sql語句,第二個參數(shù)代表sql語句中?的值
  /**
   * 如果增加的字段和數(shù)據(jù)庫中的字段不是一一對應(yīng)的
   * 將addInfor換成{name: addInfor.name, age: addInfor.age}
   * name代表數(shù)據(jù)庫中的字段,addInfor.name代表他要增加的值
   */
  db.query(sql, addInfor, (err,results)=>{
    // sql語句執(zhí)行失敗
    if(err) {
      return res.send({status: 1, message: err.message})
    }
    // 數(shù)據(jù)庫語句執(zhí)行成功,但影響的條數(shù)不等于1,沒有增加,也屬于失敗
    if(results.affectedRows !== 1) {
      return res.send({status: 1, message: '數(shù)據(jù)添加失敗'})
    }
    // sql語句執(zhí)行成功,影響條數(shù)也等于1
    return res.send({status:0, message: '添加成功', data:results})
  })
})


? ? ? ? ?此時,如果打開任意瀏覽器訪問網(wǎng)址:http://127.0.0.1:3000//increase?username=201811040682&password=123456即可成功將一條數(shù)據(jù)插入數(shù)據(jù)庫:

express連接數(shù)據(jù)庫,node.js,express,javascript,mysql,node.js,數(shù)據(jù)庫

而前端瀏覽器中會返回成功信息:

express連接數(shù)據(jù)庫,node.js,express,javascript,mysql,node.js,數(shù)據(jù)庫

`UPDATE login_table SET username='${username}', password=${password} WHERE username='${findUsername}'`

`DELETE FROM login_table WHERE username='${username}'`文章來源地址http://www.zghlxwxcb.cn/news/detail-800725.html

到了這里,關(guān)于express搭建服務(wù)器并連接mysql數(shù)據(jù)庫的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • C++集群聊天服務(wù)器 muduo+nginx+redis+mysql數(shù)據(jù)庫連接池 筆記 (下)

    C++集群聊天服務(wù)器 muduo+nginx+redis+mysql數(shù)據(jù)庫連接池 筆記 (下)

    C++集群聊天服務(wù)器 網(wǎng)絡(luò)模塊+業(yè)務(wù)模塊+CMake構(gòu)建項目 筆記 (上)-CSDN博客 https://blog.csdn.net/weixin_41987016/article/details/135991635?spm=1001.2014.3001.5501 C++集群聊天服務(wù)器 數(shù)據(jù)模塊+業(yè)務(wù)模塊+CMake構(gòu)建項目 筆記 (上)-CSDN博客 https://blog.csdn.net/weixin_41987016/article/details/136007616?spm=1001.2014.

    2024年02月19日
    瀏覽(32)
  • 59 openEuler 22.03-LTS 搭建MySQL數(shù)據(jù)庫服務(wù)器-軟件介紹和配置環(huán)境

    59 openEuler 22.03-LTS 搭建MySQL數(shù)據(jù)庫服務(wù)器-軟件介紹和配置環(huán)境

    59.1 軟件介紹 MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB公司開發(fā),目前屬于Oracle旗下產(chǎn)品。MySQL是業(yè)界最流行的RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫管理系統(tǒng))之一,尤其在WEB應(yīng)用方面。 關(guān)系數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫

    2023年04月22日
    瀏覽(25)
  • Navicat使用HTTP通道服務(wù)器進(jìn)行連接mysql數(shù)據(jù)庫(超簡單三分鐘完成),centos安裝nginx和php,docker安裝nginx+php合并版

    Navicat使用HTTP通道服務(wù)器進(jìn)行連接mysql數(shù)據(jù)庫(超簡單三分鐘完成),centos安裝nginx和php,docker安裝nginx+php合并版

    因為數(shù)據(jù)庫服務(wù)器在外網(wǎng)是不能直接連接訪問的,但是可以訪問網(wǎng)站,網(wǎng)站后臺就能訪問數(shù)據(jù)庫,所以在此之前,訪問數(shù)據(jù)庫的數(shù)據(jù)是一件非常麻煩的事情,在平時和運維的交流中發(fā)現(xiàn),他們會使用ssh通道進(jìn)行連接訪問數(shù)據(jù)庫,之前并沒在意這個東西,直到運維人員一直連不

    2024年02月10日
    瀏覽(29)
  • mac制作ssl證書|生成自簽名證書,nodejs+express在mac上搭建https+wss(websocket)服務(wù)器

    mac制作ssl證書|生成自簽名證書,nodejs+express在mac上搭建https+wss(websocket)服務(wù)器

    mac 自帶 openssl 所以沒必要像 windows 一樣先安裝 openssl,直接生成即可 生成 key 讓輸入兩次密碼,隨便,但是兩次得是一樣的 移除密碼 生成 csr Country Name (2 letter code) [ 國家 ]:CN State or Province Name (full name) [ 省份 ]:Beijing Locality Name (eg, city) [ 城市 ]:Beijing Organization Name (eg, company)

    2024年02月09日
    瀏覽(18)
  • 華為云云服務(wù)器評測|初始化配置SSH連接 & 安裝MySQL的docker鏡像 & 安裝redis以及主從搭建 & 7.2版本redis.conf配置文件

    華為云云服務(wù)器評測|初始化配置SSH連接 & 安裝MySQL的docker鏡像 & 安裝redis以及主從搭建 & 7.2版本redis.conf配置文件

    1.云耀云服務(wù)器L實例初始化配置,設(shè)置密碼,ssh連接; 2.安裝docker,安裝運行mysql容器; 3.redis鏡像的拉取,創(chuàng)建運行容器; 4.搭建redis主從,一主一從,7.2版本的redis.conf配置文件; 設(shè)置密碼,官方要求復(fù)雜一點 進(jìn)行遠(yuǎn)程登陸配置 添加開放的端口 在finalShell中新建SSH連接 系統(tǒng)

    2024年02月10日
    瀏覽(29)
  • 服務(wù)器編程:數(shù)據(jù)庫連接池

    服務(wù)器編程:數(shù)據(jù)庫連接池

    引言: 數(shù)據(jù)庫連接池和線程池的思想一樣,是為了避免頻繁創(chuàng)建和銷毀數(shù)據(jù)庫連接導(dǎo)致的性能開銷。如果一個項目頻繁的需要訪問數(shù)據(jù)庫,那么它就有可能需要頻繁的創(chuàng)建/銷毀數(shù)據(jù)庫連接,那么我們可以采用數(shù)據(jù)庫連接池的技術(shù),在需要時,從數(shù)據(jù)庫連接池中獲取數(shù)據(jù)庫連

    2024年02月11日
    瀏覽(23)
  • 云服務(wù)器搭建和連接

    云虛擬主機(jī)(Web Hosting) 是一種網(wǎng)站托管服務(wù)。產(chǎn)品預(yù)裝了常見網(wǎng)站開發(fā)語言的運行環(huán)境、數(shù)據(jù)庫及管理工具,您可以通過云虛擬主機(jī)簡單、低成本地發(fā)布托管網(wǎng)站。 云服務(wù)器ECS(Elastic Compute Service) :基于云計算技術(shù)的虛擬化服務(wù)器,可以提供高性能、安全可靠的計算能力

    2024年02月11日
    瀏覽(16)
  • 解決Navicat連接數(shù)據(jù)庫服務(wù)器失敗的問題

    解決Navicat連接數(shù)據(jù)庫服務(wù)器失敗的問題 Navicat是一款常用的數(shù)據(jù)庫管理工具,它提供了連接數(shù)據(jù)庫服務(wù)器的功能,但有時候我們可能會遇到連接失敗的情況。本文將介紹一些常見的原因和解決方法,幫助您解決Navicat連接數(shù)據(jù)庫服務(wù)器失敗的問題。 檢查數(shù)據(jù)庫服務(wù)器地址和端

    2024年02月08日
    瀏覽(21)
  • Navicat無法連接服務(wù)器數(shù)據(jù)庫的解決方法

    Navicat無法連接服務(wù)器數(shù)據(jù)庫的解決方法

    服務(wù)器3306端口無法訪問 2.1修改mysql的root賬號可任意ip進(jìn)行連接 刷新使其生效 2.2放開服務(wù)器的3306端口 查看端口開啟情況 放開3306端口 重啟防火墻(修改配置后要重啟防火墻) 2.3打開服務(wù)器平臺(騰訊云、阿里云…)3306端口 只是打開了服務(wù)器的3306端口,沒有打開服務(wù)器平臺(騰

    2024年02月16日
    瀏覽(21)
  • 【SQL server】NodeJs 服務(wù)器連接數(shù)據(jù)庫

    【SQL server】NodeJs 服務(wù)器連接數(shù)據(jù)庫

    有客戶需求可以查看生產(chǎn)數(shù)據(jù),而 CS 端的 Web 程序運行存在部分問題,Web 客戶端只是顯示生產(chǎn)數(shù)據(jù),其他功能沒有用到,因此為了可以快速開發(fā)以及更加方便的操作,減低客戶成本,為此采用 node 直連數(shù)據(jù)庫的方式來獲取生產(chǎn)數(shù)據(jù)。 Vue3來快速設(shè)計生產(chǎn)看板,實時數(shù)據(jù)的獲取

    2024年02月20日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包