初识NodeJS服务端开发入门(Express+MySQL)

初识NodeJS服务端开发入门(Express+MySQL)

什么是NodeJS

Node.js是一个开源、跨平台的JavaScript runtime环境,可以在服务器端运行 JavaScript 代码。Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量且高效。

什么是Express

Express是一个基于Node.js的Web应用程序开发框架,它提供了一系列强大的功能,可以帮助我们快速、简单地创建Web应用程序。Express拥有丰富的插件和中间件,可以让我们在应用程序中使用诸如路由、模板引擎、会话管理、错误处理等功能。

什么是MySQL

MySQL是一种关系型数据库管理系统,被广泛地应用于Web应用程序中。它是一种开源的数据库系统,提供了高效的数据存储及检索功能,可用于管理诸如用户信息、商品信息、订单信息等数据。

建立一个Node.js项目

  1. 创建一个项目文件夹,例如express-mysql。

  2. 在终端中进入该文件夹,并输入以下命令:

npm init

这将创建一个新的 package.json 文件,用于跟踪应用程序的依赖项和其他信息。

  1. 安装 Express 和 MySQL:

npm install express mysql --save

创建服务器

在项目文件夹中创建一个名为 app.js 的文件。在文件中输入以下代码:

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Server running at http://localhost:${port}`)
})

这段代码创建了一个Express应用程序,并在localhost上的端口3000上运行该程序。app.get()函数用于设置路由,当用户请求主页时,该函数将返回'Hello World!'的字符串。

链接MySQL数据库

在app.js中输入以下代码:

const express = require('express')
const mysql = require('mysql')
const app = express()
const port = 3000

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'test'
})

connection.connect((err) => {
  if (err) throw err
  console.log('Connected to MySQL database...')
})

app.get('/', (req, res) => {
  connection.query('SELECT * FROM users', (err, rows) => {
    if (err) throw err
    res.send(rows)
  })
})

app.listen(port, () => {
  console.log(`Server running at http://localhost:${port}`)
})

这段代码连接到MySQL数据库,并向用户发送一个包含所有用户信息的JSON数据。

示例

示例一:向MySQL数据库中添加数据

在app.js中输入以下代码:

app.get('/add-user', (req, res) => {
  const { name, email } = req.query
  const sql = `INSERT INTO users (name, email) VALUES ('${name}', '${email}')`
  connection.query(sql, (err, result) => {
    if (err) throw err
    res.send(`User ${name} added to database`)
  })
})

此代码将创建一个路由,用于向MySQL数据库添加新用户数据。

在浏览器的地址栏中输入以下URL:http://localhost:3000/add-user?name=John&email=john@example.com

示例二:更新MySQL数据库中的数据

在app.js中输入以下代码:

app.get('/update-user/:id', (req, res) => {
  const id = req.params.id
  const { name, email } = req.query
  const sql = `UPDATE users SET name='${name}', email='${email}' WHERE id='${id}'`
  connection.query(sql, (err, result) => {
    if (err) throw err
    res.send(`User with id ${id} updated`)
  })
})

此代码将创建一个路由,用于更新MySQL数据库中的用户数据。

在浏览器的地址栏中输入以下URL:http://localhost:3000/update-user/1?name=John&email=john@example.com

结论

这篇文章提供了一个针对初学者的有关Node.js、Express和MySQL的入门指南。我们学习了如何安装Express和MySQL,如何创建一个Express服务器,以及如何使用MySQL与Express进行交互。我们还介绍了一些示例代码,来演示如何添加、更新和检索MySQL数据库中的数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:初识NodeJS服务端开发入门(Express+MySQL) - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • 在微信小程序中渲染HTML内容3种解决方案及分析与问题解决

    在微信小程序中渲染HTML内容3种解决方案及分析与问题解决 在微信小程序开发中,我们常常需要将从网络请求到的HTML内容渲染到小程序页面上。但是,微信小程序原生并不支持直接渲染HTML内容,因此我们需要使用其他解决方案来完成这项任务。本文将以三种解决方案为例,分析其优缺点以及问题解决方法。 方案一:使用rich-text组件渲染HTML内容 微信小程序提供了…

    node js 2023年6月8日
    00
  • node版本快速切换及管理方法

    当需要在Node.js的不同版本之间切换时,我们可以使用Node Version Manager (nvm)。下面介绍如何使用nvm快速切换和管理不同版本的Node.js。 安装nvm 首先需要安装nvm。可以使用以下命令在Linux或macOS上安装nvm: curl -o- https://raw.githubusercontent.com/nvm-sh…

    node js 2023年6月8日
    00
  • JavaScript二叉搜索树构建操作详解

    JavaScript二叉搜索树构建操作详解 什么是二叉搜索树? 二叉搜索树(Binary Search Tree,简称BST)是一种二叉树,它满足以下限制: 对于每个节点,它的左子树中所有节点的值都小于这个节点的值; 对于每个节点,它的右子树中所有节点的值都大于这个节点的值; 左右子树都是二叉搜索树。 如何构建二叉搜索树? 遍历一棵空树时,我们首先得想到的是…

    node js 2023年6月8日
    00
  • vs code怎么搭建NodeJs的开发环境? vscode运行nodejs代码的技巧

    下面来详细讲解在 VS Code 中如何搭建NodeJs的开发环境,并介绍运行NodeJs代码的技巧。 搭建NodeJs的开发环境 步骤一:下载Node.js 下载Node.js最新版本,下载链接为:https://nodejs.org/en/download/ 步骤二:安装Node.js 安装Node.js,可以直接使用默认配置,一路“下一步”即可。 步骤…

    node js 2023年6月8日
    00
  • express框架中使用jwt实现验证的方法

    Express框架是一款快速、开放、极简的Web应用程序开发框架,而JWT(JSON Web Token)是一种用于身份验证的标准,它使用JSON作为数据载体,并使用数字签名保证数据在传输过程中不被篡改。在Express框架中使用JWT来实现验证,可以有效提升Web应用程序的安全性。下面是详细的攻略: 1. 安装jsonwebtoken包 使用npm安装js…

    node js 2023年6月8日
    00
  • JS异步错误捕获的一些事小结

    JS异步错误捕获的一些事小结 背景 随着前端项目逐渐变大、代码逐渐复杂,异步错误的捕获成为前端开发中的难点之一。本文将结合实际应用场景,介绍JS异步错误捕获的一些事情。 具体内容 Promise Promise的错误捕获是一个重要的部分,一般来说我们需要用到 then() 中的第二个参数来进行错误捕获。示例代码如下: fetch(‘http://exampl…

    node js 2023年6月8日
    00
  • Javascript数据结构之栈和队列详解

    Javascript数据结构之栈和队列详解 本文将详细讲解Javascript中常用的数据结构之一,栈和队列。 栈 什么是栈? 栈是一种“后进先出(LIFO)”的数据结构,也就是说最后进入栈的元素被最先移除。栈一般用数组或链表实现。 栈的操作 常用的栈操作有: push: 将一个元素添加到栈的顶部。 pop: 从栈的顶部移除一个元素,并返回它。 peek: …

    node js 2023年6月8日
    00
  • node.js实现端口转发

    下面是关于node.js实现端口转发的完整攻略。 什么是端口转发 在计算机网络中,端口是一种特定的标识符,用于标识不同的进程或服务。每个进程或服务都会占用一个特定的端口来进行通信。而端口转发则是将一台计算机的某个端口的流量转发到另一台计算机的某个端口上的技术。 使用node.js实现端口转发的步骤 要使用node.js来实现端口转发,需要进行以下步骤: 1.…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部