千家信息网

nodejs怎么添加和查询数据库的数据

发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,小编给大家分享一下nodejs怎么添加和查询数据库的数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!基于node.js实
千家信息网最后更新 2025年01月18日nodejs怎么添加和查询数据库的数据

小编给大家分享一下nodejs怎么添加和查询数据库的数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

基于node.js实现数据库中的添加和查询

思路

  • 创建项目 serverAPI

  • 初始化项目文件夹

npm init --y
  • 安装包

npm i express mysql
  • restfulf 风格

  • 使用Postman软件测试

【推荐学习:《nodejs 教程》】

项目结构图

实现

sql.js文件代码如下:

// 1. 加载msyqlvar mysql = require('mysql');// 2. 创建连接var connection = mysql.createConnection({  host     : 'localhost',   // 你要连接的数据库服务器的地址  port     : 3306,// 端口号  user     : 'root',        // 连接数据库服务器需要的用户名  password : 'root',        // 连接数据库服务器需要的密码  database : 'yanyan'      //你要连接的数据库的名字});// 3. 连接数据库connection.connect((err) => {  // 如果有错误对象,表示连接失败  if (err) return console.log('数据库连接失败')  // 没有错误对象提示连接成功  console.log('mysql数据库连接成功')});module.exports = connection

server.js文件 参考代码

const express = require("express");const app = express();const connection = require("./utils/sql");app.use(express.urlencoded());// 添加数据接口app.post("/api/student", (req, res) => {  console.log(req.body);  // 接收普通键值对参数  const { name, sex, age } = req.body;  // 添加到数据库中  const sql = `insert into Students(name,sex,age) value('${name}','${sex}',${age})`;  //console.log("要执行的sql", sql);  // result 接受的数据  connection.query(sql, (err, result) => {    if (err) {      console.log(err);      res.json({ msg: "添加失败", code: 0 });    } else {      console.log(result);      res.json({ msg: "添加成功", code: 1 });    }  });});// 获取数据接口app.get("/api/student", (req, res) => {  const sql = `select * from Students `;  connection.query(sql, (err, result) => {    if (err) {      console.log(err);      res.json({ msg: "获取失败", code: 0 });    } else {      console.log(result);      res.json({ msg: "获取成功", code: 0, data: result });    }  });});app.listen(3000, () => {  console.log("接口服务器启动,端口号为3000");});

运行结果

  • sql数据库

  • postman测试

  • 控制台输出结果

使用路由中间件优化方案

思路

  • 创建项目

  • 初始化项目文件夹

npm init --y
  • 安装包

npm i express mysql
  • restfulf 风格

  • 使用Postman软件测试

项目结构图

实现

sql.js文件

// 1. 加载mysqlvar mysql = require("./node_modules/mysql");// 2. 创建连接var connection = mysql.createConnection({  host: "localhost", // 你要连接的数据库服务器的地址  port: 3306, // 端口号  user: "root", // 连接数据库服务器需要的用户名  password: "root", // 连接数据库服务器需要的密码  database: "yanyan", //你要连接的数据库的名字});// 3. 连接数据库connection.connect((err) => {  // 如果有错误对象,表示连接失败  if (err) return console.log("数据库连接失败");  // 没有错误对象提示连接成功  console.log("mysql数据库连接成功");});module.exports = connection;

get.js文件

const connection = require("./sql");const express = require("./node_modules/express");const router = express.Router();router.use(express.urlencoded());//获取数据接口router.get("/api/student", (req, res) => {  const sql = `select * from Students`;  connection.query(sql, (err, result) => {    if (err) {      console.log(err);      res.json({ msg: "获取失败", code: 0 });    } else {      console.log(result);      res.json({ msg: "获取成功", code: 0, data: result });    }  });});module.exports = router;

post.js文件

const connection = require("./sql");const express = require("./node_modules/express");const router = express.Router();router.use(express.urlencoded());// 添加数据接口router.post("/api/student", (req, res) => {  //console.log(req.body);  // 接收普通键值对参数  const { name, sex, age } = req.body;  // 添加到数据库中  const sql = `insert into Students(name,sex,age) values('${name}','${sex}',${age})`;  //console.log("要执行的sql", sql);  // result 接受的数据  connection.query(sql, (err, data) => {    if (err) {      console.log(err);      res.json({ msg: "添加失败", code: 0 });    } else {      console.log(data);      res.json({ msg: "添加成功", code: 1 });    }  });});module.exports = router;

server-pro.js文件

const get = require("./utils/get");const post = require("./utils/post");const express = require("./node_modules/express");const app = express();app.use("/utils/get", get);app.use("/utils/post", post);app.listen(3000, () => {  console.log("接口服务器启动,端口号为3000");});

以上是"nodejs怎么添加和查询数据库的数据"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0