Heim  >  Artikel  >  Web-Frontend  >  Wie betreibt Nodejs die Datenbank (Hinzufügen, Löschen, Ändern, Abfragen)?

Wie betreibt Nodejs die Datenbank (Hinzufügen, Löschen, Ändern, Abfragen)?

青灯夜游
青灯夜游nach vorne
2021-03-18 10:00:143302Durchsuche

In diesem Artikel werfen wir einen Blick auf node anhand von Codebeispielen und erfahren, wie die Datenbank zum Hinzufügen, Löschen, Ändern und Überprüfen bedient wird. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Wie betreibt Nodejs die Datenbank (Hinzufügen, Löschen, Ändern, Abfragen)?

Verwandte Empfehlungen: „nodejs-Tutorial

nodejs-Betriebsdatenbank –

// 导包
const express = require("express");
var mysql = require("mysql");

// 创建一个和数据库的连接
var connection = mysql.createConnection({
  host: "localhost", // 数据库服务器的地址
  user: "root", // 账号
  password: "lijiazhao123", // 密码
  database: "maxiaoyu", // 数据库名
});

// 打开连接
connection.connect();

let name = "伟健";
let miaoshu = "哈哈哈很开心";
// 执行sql语句
connection.query(
  `insert into user(username,description) values("${name}","${miaoshu}")`,
  function (error, results) {
    if (error == null) {
      console.log(results); // 返回结果是一个对象
      console.log(results.affectedRows); // 受影响的行数,如果大于0,说明新增成功
      console.log(results.insertId); // 插入的这条数据的id
    }
  }
);

// 关闭连接
connection.end();

nodejs-Betriebsdatenbank hinzufügen – löschen

// 导包
const express = require("express");
var mysql = require("mysql");

// 创建一个和数据库的连接
var connection = mysql.createConnection({
  host: "localhost", // 数据库服务器的地址
  user: "root", // 账号
  password: "lijiazhao123", // 密码
  database: "maxiaoyu", // 数据库名
});

// 打开连接
connection.connect();

let id = 3;
let name = "千里jack";
let miaoshu = "新一代世界首富";
// 执行sql语句
connection.query(`delete from user where id = ${id}`, function (
  error,
  results
) {
  if (error == null) {
    console.log(results); // 返回结果是一个对象
    console.log(results.affectedRows); // 受影响的行数,如果大于0,说明新增成功
  }
});

// 关闭连接
connection.end();

nodejs-Betriebsdatenbank – ändern

// 导包
const express = require("express");
var mysql = require("mysql");

// 创建一个和数据库的连接
var connection = mysql.createConnection({
  host: "localhost", // 数据库服务器的地址
  user: "root", // 账号
  password: "lijiazhao123", // 密码
  database: "maxiaoyu", // 数据库名
});

// 打开连接
connection.connect();

let id = 3;
let name = "千里jack";
let miaoshu = "新一代世界首富";
// 执行sql语句
connection.query(
  `update user set username="${name}",description="${miaoshu}" where id=${id}`,
  function (error, results) {
    if (error == null) {
      console.log(results); // 返回结果是一个对象
      console.log(results.affectedRows); // 受影响的行数,如果大于0,说明新增成功
    }
  }
);

// 关闭连接
connection.end();

nodejs-Betrieb Datenbank -Überprüfen Sie

// 导包
const express = require("express");
var mysql = require("mysql");

// 创建一个和数据库的连接
var connection = mysql.createConnection({
  host: "localhost", // 数据库服务器的地址
  user: "root", // 账号
  password: "lijiazhao123", // 密码
  database: "maxiaoyu", // 数据库名
});

// 打开连接
// 其实这里这句代码可以不写,这个插件内部在你调用query执行sql语句的时候会自动的帮你打开连接
connection.connect();

// 执行sql语句
connection.query("select * from user", function (error, results, fields) {
  // 错误对象,如果没有错误就返回null
  // console.log(error);
  // 执行sql语句得到的结果集,有错的话就是undefined
  console.log(results);
  //   console.log(results[4].username);
  // 拿到的是字段的信息
  //   console.log(fields);
});

// 关闭连接
// 其实也可以不写,也是会自动关闭连接
connection.end();

Verwenden Sie die neue Datenbank- und Abfrageschnittstelle

// 导包
const express = require("express");
const multer = require("multer");
const bodyParser = require("body-parser");
const mysql = require("mysql");

// 创建一个和数据库的连接
var connection = mysql.createConnection({
  host: "localhost", // 数据库服务器的地址
  user: "root", // 账号
  password: "lijiazhao123", // 密码
  database: "maxiaoyu", // 数据库名
});
// 创建一个uploads文件
var upload = multer({ dest: "uploads/" });

// 创建服务器
const app = express();

// 将uploads文件夹暴露出去,使得此文件夹内的文件可以直接被访问到
app.use(express.static("uploads"));

// 写路由
// 1. 写一个新增接口
// 参数:heroName,heroSkill,heroIcon(文件), 使用multer从前端接收
app.post("/hero/add", upload.single("heroIcon"), (req, res) => {
  let heroIcon = "http://127.0.0.1:4399/" + req.file.filename;
  let { heroName, heroSkill } = req.body;
  // 执行sql语句
  connection.query(
    `insert into hero(heroName,heroSkill,heroIcon) values("${heroName}","${heroSkill}","${heroIcon}")`,
    function (error, results) {
      if (error == null) {
        // 如果没有错则响应一个code为200的json对象
        res.send({
          code: 200,
          msg: "新增成功",
        });
      } else {
        res.send({
          code: 500,
          msg: "新增失败",
        });
      }
    }
  );
});

// 2. 写一个查询所有的英雄接口
// 参数:无
app.get("/hero/all", (req, res) => {
  // 直接读取数据库表中的所有的英雄,返回
  // 执行sql语句
  connection.query(
    `select id,heroName,heroSkill,heroIcon from hero where isDelete="false"`,
    function (error, results) {
      if (error == null) {
        // 如果没有错则响应一个code为200的json对象
        res.send({
          code: 200,
          msg: "查询成功",
          data: results,
        });
      } else {
        res.send({
          code: 500,
          msg: "服务器内部错误",
        });
      }
    }
  );
});

// 开启服务器
app.listen(4399, () => {
  console.log("服务器开启成功...");
});

So schreiben Sie selbst ein Modul

Von uns selbst geschriebene Module

// 变量
// let foodName = "红烧肉";
// // 把foodName暴露出去,为了使其可以被其他js文件导入
// module.exports = foodName;

// 函数
// function test() {
//   console.log("我是test函数");
// }
// module.exports = test;

// 对象
let db = {
  baseUrl: "http://127.0.0.1:4399",
  insert() {
    console.log("我是插入的方法");
  },
  delete() {
    console.log("我是删除的方法");
  },
};
module.exports = db;

Verwenden Sie von uns selbst geschriebene Module

// 导包
const path = require("path");
const myMoudle = require(path.join(__dirname, "01-我们自己写的模块.js"));
// console.log(myMoudle);
// myMoudle();
console.log(myMoudle.baseUrl);
myMoudle.insert();
myMoudle.delete();

by Wir kapseln ein MySQL-Modul. Ein MySQL-Modul, das wir selbst geschrieben haben ing von Glory-Capture-Paketen Speicher

Pakete erfassen

Die folgenden Bibliotheken von Drittanbietern werden verwendet

crewler

Funktionseinführung:
  • Serverseitiges DOM und automatische jQuery-Einfügung mit Cheerio (Standard). ) oder JSDOM
  • Konfigurierbare Poolgröße und Wiederherstellung

Kontrollratenbegrenzung Prioritätswarteschlange für Anfragen

8-Modus erzwingen, damit der Crawler die Zeichensatzerkennung und -konvertierung übernimmt

Kompatibel mit 4.x oder neuer .

const mysql = require("mysql");
// 创建一个和数据库的连接
var connection = mysql.createConnection({
  host: "localhost", // 数据库服务器的地址
  user: "root", // 账号
  password: "lijiazhao123", // 密码
  database: "maxiaoyu", // 数据库名
});

module.exports = {
  // connection: connection
  // 简写
  connection,
};
  • In die Datenbank
  • Die folgenden Bibliotheken von Drittanbietern werden verwendet
  • , die zum Betrieb von MySQL verwendet werden
// 导包
const express = require("express");
const path = require("path");
// 导入我们自己写的mysql模块
const db = require(path.join(__dirname, "03-我们自己写一个mysql的模块.js"));

// 创建服务器
const app = express();

// 写一个查询所有英雄接口
app.get("/hero/all", (req, res) => {
  // 这里使用我们自己写的mysql模块,来操作数据库
  // 这里的db,就相当于是03那个文件里面暴露出来的对象
  // 这个对象里面又connection这个连接
  db.connection.query(
    `select id,heroName,heroSkill,heroIcon from hero where isDelete="false"`,
    (error, results) => {
      if (error == null) {
        res.send({
          code: 200,
          msg: "查询成功",
          data: results,
        });
      } else {
        res.send({
          code: 500,
          msg: "服务器内部错误",
        });
      }
    }
  );
});

// 开启服务器
app.listen(4399, () => {
  console.log("服务器开启了");
});
    Weitere Kenntnisse im Zusammenhang mit der Programmierung finden Sie unter:
  • Einführung in die Programmierung! !

Das obige ist der detaillierte Inhalt vonWie betreibt Nodejs die Datenbank (Hinzufügen, Löschen, Ändern, Abfragen)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen