当前位置: 首页 > news >正文

使用express创建服务器保存数据到mysql

创建数据库和表结构

CREATE DATABASE collect;USE collect;CREATE TABLE `info` (`id` int(11) NOT NULL AUTO_INCREMENT,`create_date` bigint(20) DEFAULT NULL COMMENT '时间',`type` varchar(20) DEFAULT NULL COMMENT '数据分类',`text_value` text COMMENT '内容',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4

创建前端项目

mkdir node-mysql-api
cd node-mysql-api
npm init -y
npm install express mysql cors

新建server.js文件,保存以下内容

const express = require('express');
const mysql = require('mysql');
const cors = require('cors');const app = express();
const port = 3000;// 使用中间件解析JSON请求体
app.use(express.json());// 使用CORS中间件
app.use(cors());// 创建MySQL连接
const db = mysql.createConnection({host: 'localhost',port: 3306,user: 'root',    // 替换为你的数据库用户名password: '12345',// 替换为你的数据库密码database: 'collect'
});// 连接到数据库
db.connect((err) => {if (err) {console.error('Error connecting to the database:', err);return;}console.log('Connected to the database');
});// 定义saveInfo接口
app.post('/saveInfo', (req, res) => {const { createDate, type, textValue } = req.body;if (!createDate || !type || !textValue) {return res.status(400).send('All fields are required');}const sql = 'INSERT INTO info (create_date, type, text_value) VALUES (?, ?, ?)';const values = [createDate, type, textValue];db.query(sql, values, (err, results) => {if (err) {console.error('Error inserting data:', err);return res.status(500).send('Server error');}res.status(201).send(`Info saved with ID: ${results.insertId}`);});
});
// 方便测试用
app.get('/',(req,res)=>{res.send('<h1>hello world</h1>')
})// 启动服务器
app.listen(port, () => {console.log(`Server running at http://localhost:${port}`);
});

启动服务器

node server.js

在浏览器中打开:http://localhost:3000,可以看到如下图所示,即表示成功
在这里插入图片描述
在该页面点击鼠标右键-检查,切换到console面板,输入以下代码发起测试请求

fetch('/saveInfo', {method: 'post',body: JSON.stringify({createDate: 1741318847,type: 'test',textValue: '这里是测试的内容'}),headers: {'Content-Type': 'application/json'}
}).then(res => res.text()).then(txt => console.log(txt))

控制台打印出如下内容,且数据库中出现新提交的测试数据即可
Info saved with ID: 1

在这里插入图片描述

相关文章:

使用express创建服务器保存数据到mysql

创建数据库和表结构 CREATE DATABASE collect;USE collect;CREATE TABLE info (id int(11) NOT NULL AUTO_INCREMENT,create_date bigint(20) DEFAULT NULL COMMENT 时间,type varchar(20) DEFAULT NULL COMMENT 数据分类,text_value text COMMENT 内容,PRIMARY KEY (id) ) EN…...

YOLOv12本地部署教程——42%速度提升,让高效目标检测触手可及

YOLOv12 是“你只看一次”&#xff08;You Only Look Once, YOLO&#xff09;系列的最新版本&#xff0c;于 2025 年 2 月发布。它引入了注意力机制&#xff0c;提升了检测精度&#xff0c;同时保持了高效的实时性能。在保持速度的同时&#xff0c;显著提升了检测精度。例如&am…...

SQLAlchemy系列教程:如何防止SQL注入

SQL注入是一种常见的安全漏洞&#xff0c;它允许攻击者通过应用程序的SQL查询操纵数据库。使用ORM工具&#xff08;如SQLAlchemy&#xff09;提供的内置功能可以帮助减轻这些风险。本教程将指导您完成保护SQLAlchemy查询的实践。 了解SQL注入 当攻击者能够通过用户输入插入或操…...

1. 树莓派上配置机器人环境(具身智能机器人套件)

1. 安装树莓派系统 镜像下载地址&#xff08;windows/Mac/Ubuntu)&#xff0c;安装Pi5. 2. 环境配置&#xff08;登录Pi系统&#xff09; 2.1 启用 SSH From the Preferences menu, launch Raspberry Pi Configuration. Navigate to the Interfaces tab. Select Enable…...

基于SpringBoot的智慧停车场小程序(源码+论文+部署教程)

运行环境 • 前端&#xff1a;小程序 Vue • 后端&#xff1a;Java • IDE工具&#xff1a;IDEA&#xff08;可自行选择&#xff09; HBuilderX 微信开发者工具 • 技术栈&#xff1a;小程序 SpringBoot Vue MySQL 主要功能 智慧停车场微信小程序主要包含小程序端和…...

【从零开始学习计算机科学】数字逻辑(九)有限状态机

【从零开始学习计算机科学】数字逻辑(九)有限状态机 有限状态机状态机的表示方法有限状态机的Verilog描述有限状态机 有限状态机(简称状态机)相当于一个控制器,它将一项功能的完成分解为若干步,每一步对应于二进制的一个状态,通过预先设计的顺序在各状态之间进行转换,状…...

HarmonyOS Next~鸿蒙系统ArkCompiler跨平台编译技术的革新实践

HarmonyOS Next~鸿蒙系统ArkCompiler跨平台编译技术的革新实践 引言 在万物互联时代&#xff0c;操作系统对编译技术的需求已从单纯的代码转换演变为跨设备协同、高效资源调度与极致性能优化的综合挑战。华为鸿蒙系统&#xff08;HarmonyOS&#xff09;自主研发的ArkCompiler…...

AI大模型概念知多少

什么是大模型&#xff1f;什么是模型参数 1&#xff09;现在的大模型要解决的问题&#xff0c;就是一个序列数据转换的问题&#xff1a; 输入序列 X X[x1 ,x2 ,...,xm ]&#xff0c; 输出序列Y[y1 ,y2 ,…,yn ]&#xff0c;X和Y之间的关系是&#xff1a;YWX。 “大模型”这个词…...

powermock,mock使用笔记

介于日本的形式主义junit4单体测试&#xff0c;特记笔记&#xff0c;以下纯用手机打出来&#xff0c;因为电脑禁止复制粘贴。 pom文件 powermock-module-junit1.7.4 powermock-api-mokcito 1.7.4 spring-test 8 1&#xff0c;测试类头部打注解 RunWith(PowerMockRunner.class…...

基于置换对称性的模型融合:实现凸盆地单盆地理论

【摘要】 一种合并神经网络模型的新方法,通过置换对称性来合并模型。即使在大规模的非凸优化问题中,神经网络损失景观似乎通常只有一个(几乎)封闭的盆地,这在很大程度上归因于隐藏层单元置换对称性。作者介绍了三种算法,用于将一个模型的单元置换为与参考模型对齐,从而…...

把握好自己的节奏, 别让世界成为你的发条匠

我见过凌晨两点还在回复工作群消息的职场妈妈&#xff0c;也见过凌晨三点抱着手机刷短视频的年轻人。 地铁站台的上班族永远在狂奔&#xff0c;连刚会走路的小孩都被早教班塞满了日程表。 现如今生活节奏快&#xff0c;像一只巨大的发条&#xff0c;每个人都被拧得紧紧的&#…...

linux awk命令和awk语言

linux awk和awk语言 通常大家说的awk几乎都是在linux/unix中使用的awk命令&#xff0c;见下&#xff0c; https://www.geeksforgeeks.org/awk-command-unixlinux-examples/ 作为命令使用的话&#xff0c;存在下内容 Awk 是一个工具&#xff0c;使程序员能够编写小巧但有效的…...

电脑网络出现问题!简单的几种方法解除电脑飞行模式

在某些情况下&#xff0c;您可能需要关闭电脑上的飞行模式以便重新连接到 Wi-Fi、蓝牙或其他无线网络。本教程中简鹿办公将指导您如何在 Windows 和 macO S操作系统上解除飞行模式。 一、Windows 系统下解除飞行模式 通过快捷操作中心 步骤一&#xff1a;点击屏幕右下角的通知…...

ASP.NET Core 6 MVC 文件上传

概述 应用程序中的文件上传是一项功能&#xff0c;用户可以使用该功能将用户本地系统或网络上的文件上传到 Web 应用程序。Web 应用程序将处理该文件&#xff0c;然后根据需要对文件进行一些验证&#xff0c;最后根据要求将该文件存储在系统中配置的用于保存文件的存储中&#…...

【VBA】WPS/PPT设置标题字体

通过VBA&#xff0c;配合左上角的快速访问工具栏&#xff0c;实现自动化调整 选中文本框的 字体位置、大小、颜色。 配合quicker更加便捷 Sub DisableAutoWrapAndFormat()Dim shp As Shape 检查是否选中了一个形状&#xff08;文本框&#xff09;If ActiveWindow.Selection.Typ…...

白盒测试(4):电源瞬态电流测试

电源瞬态电流测试至关重要&#xff0c;主要用于评估电源在负载突变时的响应能力。通过测试&#xff0c;可以确保电源在短时间内提供足够的电流并快速恢复稳定&#xff0c;避免电压波动或系统故障。这对于保证电子设备的可靠性和稳定性尤为关键&#xff0c;尤其是在高动态负载应…...

三维建模与视频融合(3D-Video Integration)技术初探。

三维建模与视频融合&#xff08;3D-Video Integration&#xff09;是一种将虚拟三维模型无缝嵌入实拍视频场景的技术&#xff0c;广泛应用于影视特效、增强现实&#xff08;AR&#xff09;、游戏开发、广告制作 、视频监控 等领域。 一、技术核心流程 三维建模与动画 使用工具…...

DeepSeek提问术:解锁AI交互新姿势-20 个精准提问框架

一、引言 在人工智能的浩瀚星空中,DeepSeek 无疑是一颗耀眼的新星,以其独特的光芒照亮了 AI 发展的新路径。自问世以来,DeepSeek 凭借先进的技术架构、强大的自然语言处理能力和出色的性能表现,迅速在竞争激烈的 AI 领域崭露头角,成为众多开发者、研究人员以及各行业从业者…...

避免魔法值和多层if的关键:编程范式和设计模式

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、案例分析二、技术手段函数式接口在枚举中 三、优化后完整代码总结 前言 提示&#xff1a;避免魔法值和多层if的关键&#xff1a;编程范式和设计模式&#…...

第六课:数据存储三剑客:CSV/JSON/MySQL

在Python的数据存储与处理领域&#xff0c;CSV、JSON和MySQL被广大开发者誉为“数据存储三剑客”。它们各自在不同的场景下发挥着重要作用&#xff0c;无论是简单的数据交换、轻量级的数据存储&#xff0c;还是复杂的关系型数据库管理&#xff0c;都能找到它们的身影。本文将详…...

Qt常用控件之表格QTableWidget

表格QTableWidget QTableWidget 是一个表格控件&#xff0c;行和列交汇形成的每个单元格&#xff0c;是一个 QTableWidgetItem 对象。 1. QTableWidget属性 QTableWidget 的属性只有两个&#xff1a; 属性说明rowCount当前行的个数。columnCount当前列的个数。 2. QTableW…...

基于websocket的多用户网页五子棋 --- 测试报告

目录 功能测试自动化测试性能测试 功能测试 1.登录注册页面 2.游戏大厅页面 3.游戏房间页面 自动化测试 1.使用脑图编写web自动化测试用例 2.创建自动化项目&#xff0c;根据用例通过selenium来实现脚本 根据脑图进行测试用例的编写&#xff1a; 每个页面一个测试类&am…...

TypeError: Cannot assign to read only property ‘xxx‘ of object ‘#<Object>‘

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 &#x1f35a; 蓝桥云课签约作者、…...

SyntaxError: Unexpected token ‘xxx‘

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 &#x1f35a; 蓝桥云课签约作者、…...

简记_开关电源基础知识(二)

一、控制器与稳压器 假设开关损耗、导通损耗、驱动损耗的变化远小于输出功率的变化&#xff08;可忽略&#xff09;&#xff0c;则占空比越大&#xff0c;Po越大&#xff0c;效率越高。 二、同步与非同步 同步是采用通态电阻极低的MOSFET来取代整流二极管&#xff0c;以降低整…...

grum-与gam-词源故事

“grum”词根的含义主要与“咕隆、发哼声、咕咕叫、发隆隆声”等相关。在16世纪90年代后&#xff0c;这个词开始被用来表示发出低沉持续的咆哮声或隆隆声&#xff0c;类似于饥饿的胃或某些动物发出的声音。 早期的富贵家族经常雇佣人去干活&#xff0c;体力活很容易因为劳工过…...

联合索引关于In和范围查询影响索引使用的情况分析

索引类型 1、unique &#xff0c;唯一索引 2、normal&#xff0c;普通索引 3、fulltext, 全文索引 4、spatial&#xff0c;空间索引 样例 三个字段的联合索引&#xff0c;走一个字段是key_len是5&#xff0c;三个是15. 联合索引关于 使用in是不影响后续列 范围查询大于或小于…...

【目标检测】【NeuralPS 2023】Gold-YOLO:通过收集与分发机制实现的高效目标检测器

Gold-YOLO&#xff1a; Efficient Object Detector via Gather-and-Distribute Mechanism Gold-YOLO&#xff1a;通过收集与分发机制实现的高效目标检测器 0.论文摘要 在过去的几年中&#xff0c;YOLO系列模型已成为实时目标检测领域的领先方法。许多研究通过修改架构、增强数…...

2025上软考下周开启报名!附报考流程和常见问题解答

报名时间 &#xff1a;3月10日开始报名&#xff08;以当地报名时间为准&#xff09; 考试时间 &#xff1a;2025年5月24日~27日&#xff08;具体时间以准考证为准&#xff09; 报名网址 &#xff1a;中国计算机技术职业资格网(https://bm.ruankao.org.cn/sign/welcome) 目前已…...

PPT 小黑第16套

对应大猫19 在excel中复制表格 粘贴-选择性粘贴 -粘贴链接 业务部门和档案管理部门 剩下都是他们的下属级别 业务部门下面的选中按Tab 再选中Tab降级变成所属...