初识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日

相关文章

  • 使用JSX 建立组件 Parser(解析器)开发的示例

    使用JSX 建立组件 Parser(解析器)开发的示例 简介 在React中,JSX是一种将xml的类似语法嵌入到javascript中的语法标记。因此,我们可以在代码中构建一个Parser(解析器)组件,该组件可以解析我们传入的文本内容,并将其显示在页面上。 步骤 步骤一:创建一个基本的React工程 有关如何创建和运行React项目,可以参考官方文档:h…

    node js 2023年6月9日
    00
  • Angularjs根据json文件动态生成路由状态的实现方法

    下面是“Angularjs根据json文件动态生成路由状态的实现方法”的完整攻略: 目录结构 – app/ – js/ – controllers/ – homeController.js – aboutController.js – directives/ – navbarDirective.js – services/ – dataService.js …

    node js 2023年6月8日
    00
  • 如何使用Node.js爬取任意网页资源并输出PDF文件到本地

    使用Node.js来爬取任意网页资源并输出PDF文件到本地,你可以遵循以下步骤: 步骤一:安装必要的依赖 你需要安装Puppeteer和fs两个依赖包。Puppeteer是一个用于爬取数据和生成PDF文件的Chrome无头浏览器工具。fs是用于文件操作的Node.js内置模块。你可以使用下面的命令进行安装: npm install puppeteer fs …

    node js 2023年6月8日
    00
  • 详解Node.js:events事件模块

    下面来详细讲解一下“详解Node.js:events事件模块”的完整攻略。 什么是事件模块 在 Node.js 中,events 模块是实现事件驱动的核心模块,提供了 EventEmitter 类用于事件的注册和触发。使用 events 模块的程序可以通过事件的方式触发回调函数,从而实现异步编程。 常用的事件模块方法 常用的 events 模块方法包括: E…

    node js 2023年6月8日
    00
  • Node.js API详解之 string_decoder用法实例分析

    好的。先介绍一下如何组织一篇Markdown格式的文章: 标题用#表示,#越多代表标题级别越高。代码块使用“`包裹,可以指定语言类型,例如javascript。引用内容使用>。*开头表示无序列表,数字开头表示有序列表,-开头表示二级无序列表,以此类推。还有其他格式,可以参考Markdown教程。 下面开始具体介绍“Node.js API详解之 str…

    node js 2023年6月8日
    00
  • 总结Node.js中9种fs模块文件操作方法(文件夹递归删除知识)

    总结Node.js中9种fs模块文件操作方法(文件夹递归删除知识) 文件操作是Node.js的一个重要功能。fs模块是Node.js中实现文件I/O的核心模块,提供了很多文件操作方法。本文将总结fs模块中的9种常用文件操作方法,并详细说明每种方法的用法和参数。 1. fs.stat fs.stat 方法用于获取文件/目录的基本信息,包括文件大小、创建时间、修…

    node js 2023年6月8日
    00
  • Node.js实现数据推送

    接下来我将详细讲解“Node.js实现数据推送”的完整攻略,包括以下内容: 实现数据推送的基本原理 使用Node.js实现数据推送的步骤 两条示例说明 1. 实现数据推送的基本原理 在Web应用中,数据推送是指服务器向客户端主动发送数据更新通知的一种实现方式。实现数据推送的基本原理就是通过长连接(如WebSocket)实时得到数据更新并进行页面渲染。 2. …

    node js 2023年6月8日
    00
  • JavaScript跨浏览器获取页面中相同class节点的方法

    JavaScript跨浏览器获取页面中相同class节点的方法分为两种:通过原生JavaScript获取和使用第三方库获取。 使用原生JavaScript获取相同class节点 如果我们想要获取页面中所有class名称为myclass的节点,可以使用document.getElementsByClassName()方法。此方法会返回一个HTML Collec…

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