express搭建服务器并连接mysql数据库

这篇具有很好参考价值的文章主要介绍了express搭建服务器并连接mysql数据库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:express是一个轻量级的node.js web应用程序开发框架,为web和移动应用程序提供一组强大的功能,可以帮助我们快速搭建基于nodejs的web应用。通俗来说:express可以搭建服务器,接受前端发送过来的请求,并连接数据库,通过一系列操作做出响应发送到前端。

注意:搭建服务器是在项目根目录下新建的server.js,而连接mysql时,是在项目根目录下创建了一个db的文件夹,文件夹内新建了index.js文件,之后该文件抛出,在server.js文件中引入,话不多说,直接上项目目录结构:

express连接数据库,node.js,express,javascript,mysql,node.js,数据库

一、搭建服务器:

//
// 使用express搭建web服务器的前提条件是电脑中已经安装nodejs
// 之后进入到项目终端输入:npm i express
//                     npm i mysql安装所需要用到的包
//
//用express搭建服务器并连接数据库的详细步骤如下
//首先新建一个后缀名为.js的文件
//1、引入express包
const express=require('express');
//2、实例化express对象
const app= express();
//3、开启端口进行监听发送过来的请求:包含端口号,和一个回调函数用于告知服务器是否启动成功
app.listen( 3000 , () => {
	console.log("服务器已经成功启动,并在http://127.0.0.1:3000/上运行")
})
//4、接下来就是根据发送过来的路由请求进行处理并相应
app.get('/login',(req,res)=>{
	res.send("ok")
})

        到此为止,使用express搭建服务器成功,此时打开任意浏览器,输入http://127.0.0.1:3000/login进行访问,即可得到服务器端返回的ok。

二、连接mysql  

//
//在连接数据库之前需要进入项目终端输入:npm i mysql
//
//之后在项目目录下新建文件夹db,db目录下新建文件index.js
//
//然后将是引入mysql的详细步骤
//
//
// 1、引入mysql
const mysql = require("mysql");
// 2、建立一个连接池
const db = mysql.createPool({
  host: "127.0.0.1", // 数据库的IP地址(本地的或者是云服务器的都可以)
  user: "root",//用户名
  password: "654321",
  database: "sqltest", //指定要操作哪个数据库
});
 
 
 // 检测数据库是否连接成功
 // db.query("select 1", (err, results) => {
 //   if (err) return console.log(err);
 //   console.log(results);
 // });
 //如果能打印出[ RowDataPacket { '1': 1 } ]代表连接数据库成功
 
 
// 将文件暴露出去
module.exports = db

三、增、删、改、查

        搭建服务器成功并且连接mysql成功之后尝试进行操作数据库里的数据,进行增删改查。

操作之前的准备:在数据库中新建一个表,并添加几条数据,表名为test,上图:

1、设计表:express连接数据库,node.js,express,javascript,mysql,node.js,数据库

2、添加几条数据: 

express连接数据库,node.js,express,javascript,mysql,node.js,数据库

//
// 使用express搭建web服务器的前提条件是电脑中已经安装nodejs
// 之后进入到项目终端输入:npm i express
//                     npm i mysql安装所需要用到的包
//
//用express搭建服务器并连接数据库的详细步骤如下
//首先新建一个后缀名为.js的文件
//1、引入express包,抛出的db/index.js包
const express=require('express');
const db=require('./db/index.js')
//2、实例化express对象
const app= express();
//3、开启端口进行监听发送过来的请求:包含端口号,和一个回调函数用于告知服务器是否启动成功
app.listen( 3000 , () => {
	console.log("服务器已经成功启动,并在http://127.0.0.1:3000/上运行")
})
//4、接下来就是根据发送过来的路由请求进行处理并相应
app.get('/login',(req,res)=>{
	res.send("ok")
})

//5、查——————————————————————————————————————————————————————————————————————————————————
app.get("/infor", (req, res) => {
  // 定义sql语句:意思为查询test表
  const sql = "select * from test";
  // 执行sql语句
  db.query(sql, (err, result) => {
    // 执行失败
    if (err) {
      return res.send({ state: 1, message: err });
    }
	//执行成功后返回,表中的数据
    return res.send({ state: 0, message: "查询成功", data: result });
  });
});

        此时打开浏览器访问:http://127.0.0.1:3000/infor就会返回test表中所有的数据,在这个过程中,需要操作数据库数据,而操作数据库的基本步骤为:

        1、定义sql语句,

        2、使用db.query()方法执行sql语句,第一个参数放sql语句,紧接着是一个箭头函数,其中,第一个参数是执行失败的信息,第二个参数是执行成功时所返回的结果。如果err存在,则执行失败,否则,执行成功。

express连接数据库,node.js,express,javascript,mysql,node.js,数据库

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

//
// 使用express搭建web服务器的前提条件是电脑中已经安装nodejs
// 之后进入到项目终端输入:npm i express
//                     npm i mysql安装所需要用到的包
//
//用express搭建服务器并连接数据库的详细步骤如下
//首先新建一个后缀名为.js的文件
//1、引入express包,抛出的db/index.js包
const express=require('express');
const db=require('./db/index.js')
//2、实例化express对象
const app= express();
//3、开启端口进行监听发送过来的请求:包含端口号,和一个回调函数用于告知服务器是否启动成功
app.listen( 3000 , () => {
	console.log("服务器已经成功启动,并在http://127.0.0.1:3000/上运行")
})
//4、接下来就是根据发送过来的路由请求进行处理并相应
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 ?"
  // 执行sql语句,第二个参数代表sql语句中?的值
  /**
   * 如果增加的字段和数据库中的字段不是一一对应的
   * 将addInfor换成{name: addInfor.name, age: addInfor.age}
   * name代表数据库中的字段,addInfor.name代表他要增加的值
   */
  db.query(sql, addInfor, (err,results)=>{
    // sql语句执行失败
    if(err) {
      return res.send({status: 1, message: err.message})
    }
    // 数据库语句执行成功,但影响的条数不等于1,没有增加,也属于失败
    if(results.affectedRows !== 1) {
      return res.send({status: 1, message: '数据添加失败'})
    }
    // sql语句执行成功,影响条数也等于1
    return res.send({status:0, message: '添加成功', data:results})
  })
})


         此时,如果打开任意浏览器访问网址:http://127.0.0.1:3000//increase?username=201811040682&password=123456即可成功将一条数据插入数据库:

express连接数据库,node.js,express,javascript,mysql,node.js,数据库

而前端浏览器中会返回成功信息:

express连接数据库,node.js,express,javascript,mysql,node.js,数据库

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

`DELETE FROM login_table WHERE username='${username}'`文章来源地址https://www.toymoban.com/news/detail-800725.html

到了这里,关于express搭建服务器并连接mysql数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • C++集群聊天服务器 muduo+nginx+redis+mysql数据库连接池 笔记 (下)

    C++集群聊天服务器 muduo+nginx+redis+mysql数据库连接池 笔记 (下)

    C++集群聊天服务器 网络模块+业务模块+CMake构建项目 笔记 (上)-CSDN博客 https://blog.csdn.net/weixin_41987016/article/details/135991635?spm=1001.2014.3001.5501 C++集群聊天服务器 数据模块+业务模块+CMake构建项目 笔记 (上)-CSDN博客 https://blog.csdn.net/weixin_41987016/article/details/136007616?spm=1001.2014.

    2024年02月19日
    浏览(19)
  • 59 openEuler 22.03-LTS 搭建MySQL数据库服务器-软件介绍和配置环境

    59 openEuler 22.03-LTS 搭建MySQL数据库服务器-软件介绍和配置环境

    59.1 软件介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。MySQL是业界最流行的RDBMS (Relational Database Management System,关系数据库管理系统)之一,尤其在WEB应用方面。 关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库

    2023年04月22日
    浏览(10)
  • Navicat使用HTTP通道服务器进行连接mysql数据库(超简单三分钟完成),centos安装nginx和php,docker安装nginx+php合并版

    Navicat使用HTTP通道服务器进行连接mysql数据库(超简单三分钟完成),centos安装nginx和php,docker安装nginx+php合并版

    因为数据库服务器在外网是不能直接连接访问的,但是可以访问网站,网站后台就能访问数据库,所以在此之前,访问数据库的数据是一件非常麻烦的事情,在平时和运维的交流中发现,他们会使用ssh通道进行连接访问数据库,之前并没在意这个东西,直到运维人员一直连不

    2024年02月10日
    浏览(18)
  • mac制作ssl证书|生成自签名证书,nodejs+express在mac上搭建https+wss(websocket)服务器

    mac制作ssl证书|生成自签名证书,nodejs+express在mac上搭建https+wss(websocket)服务器

    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日
    浏览(10)
  • 华为云云服务器评测|初始化配置SSH连接 & 安装MySQL的docker镜像 & 安装redis以及主从搭建 & 7.2版本redis.conf配置文件

    华为云云服务器评测|初始化配置SSH连接 & 安装MySQL的docker镜像 & 安装redis以及主从搭建 & 7.2版本redis.conf配置文件

    1.云耀云服务器L实例初始化配置,设置密码,ssh连接; 2.安装docker,安装运行mysql容器; 3.redis镜像的拉取,创建运行容器; 4.搭建redis主从,一主一从,7.2版本的redis.conf配置文件; 设置密码,官方要求复杂一点 进行远程登陆配置 添加开放的端口 在finalShell中新建SSH连接 系统

    2024年02月10日
    浏览(14)
  • 服务器编程:数据库连接池

    服务器编程:数据库连接池

    引言: 数据库连接池和线程池的思想一样,是为了避免频繁创建和销毁数据库连接导致的性能开销。如果一个项目频繁的需要访问数据库,那么它就有可能需要频繁的创建/销毁数据库连接,那么我们可以采用数据库连接池的技术,在需要时,从数据库连接池中获取数据库连

    2024年02月11日
    浏览(10)
  • 云服务器搭建和连接

    云虚拟主机(Web Hosting) 是一种网站托管服务。产品预装了常见网站开发语言的运行环境、数据库及管理工具,您可以通过云虚拟主机简单、低成本地发布托管网站。 云服务器ECS(Elastic Compute Service) :基于云计算技术的虚拟化服务器,可以提供高性能、安全可靠的计算能力

    2024年02月11日
    浏览(8)
  • 【SQL server】NodeJs 服务器连接数据库

    【SQL server】NodeJs 服务器连接数据库

    有客户需求可以查看生产数据,而 CS 端的 Web 程序运行存在部分问题,Web 客户端只是显示生产数据,其他功能没有用到,因此为了可以快速开发以及更加方便的操作,减低客户成本,为此采用 node 直连数据库的方式来获取生产数据。 Vue3来快速设计生产看板,实时数据的获取

    2024年02月20日
    浏览(12)
  • Navicat无法连接服务器数据库的解决方法

    Navicat无法连接服务器数据库的解决方法

    服务器3306端口无法访问 2.1修改mysql的root账号可任意ip进行连接 刷新使其生效 2.2放开服务器的3306端口 查看端口开启情况 放开3306端口 重启防火墙(修改配置后要重启防火墙) 2.3打开服务器平台(腾讯云、阿里云…)3306端口 只是打开了服务器的3306端口,没有打开服务器平台(腾

    2024年02月16日
    浏览(12)
  • 解决Navicat连接数据库服务器失败的问题

    解决Navicat连接数据库服务器失败的问题 Navicat是一款常用的数据库管理工具,它提供了连接数据库服务器的功能,但有时候我们可能会遇到连接失败的情况。本文将介绍一些常见的原因和解决方法,帮助您解决Navicat连接数据库服务器失败的问题。 检查数据库服务器地址和端

    2024年02月08日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包