Nodejsオペレーションデータベース
Nodejsオペレーションデータベース
Nodejsオペレーションデータベース-増分
Nodejs操作データベース-削除
Nodejs操作データベース-変更
Nodejsオペレーションデータベース-検索
データベースによるインタフェースの追加とクエリー
モジュールを自分で書く方法
私たちが自分で書いたモジュール
自分で書いたモジュールを使って
mysqlモジュールを自分でカプセル化
私たちが自分で書いたmysqlモジュール
自分で書いたmysqlモジュールを使って
mysql-ithmサードパーティライブラリの基本的な使用
王の栄光は倉庫に入るバッグ 次のサードパーティ製ライブラリを使用
crewler
機能紹介:サーバ側DOMと自動jQuery挿入、Cheerio(デフォルト)またはJSDOM を使用構成可能なプールサイズおよびREDO 制御速度制限 要求優先キュー 強制8モード、ネットワークプログラム処理と文字セット検出と変換 互換4.xまたは比較的新しいバージョン 入庫 次のサードパーティ製ライブラリを使用
MySQLを操作するための
Nodejsオペレーションデータベース-増分
//
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操作データベース-削除
//
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操作データベース-変更
//
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オペレーションデータベース-検索
//
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();
データベースによるインタフェースの追加とクエリー
//
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(" ...");
});
モジュールを自分で書く方法
私たちが自分で書いたモジュール
//
// 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;
自分で書いたモジュールを使って
//
const path = require("path");
const myMoudle = require(path.join(__dirname, "01- .js"));
// console.log(myMoudle);
// myMoudle();
console.log(myMoudle.baseUrl);
myMoudle.insert();
myMoudle.delete();
mysqlモジュールを自分でカプセル化
私たちが自分で書いたmysqlモジュール
const mysql = require("mysql");
//
var connection = mysql.createConnection({
host: "localhost", //
user: "root", //
password: "lijiazhao123", //
database: "maxiaoyu", //
});
module.exports = {
// connection: connection
//
connection,
};
自分で書いたmysqlモジュールを使って
//
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(" ");
});
mysql-ithmサードパーティライブラリの基本的な使用
//
const hm = require("mysql-ithm");
//2.
// ,
hm.connect({
host: "localhost", //
port: "3306",
user: "root", // ,
password: "lijiazhao123", // ,
database: "hm", //
});
//3. Model( : )
// table ,
let heroModel = hm.model("hero", {
heroName: String,
heroSkill: String,
});
// 4. api
// 4.1
// heroModel.insert(
// { heroName: " ", heroSkill: " " },
// (err, results) => {
// console.log(err);
// console.log(results);
// if (!err) console.log(" ");
// }
// );
// 4.2
// let arr = [
// {
// heroName: " ",
// heroSkill: " , 。 , 。",
// },
// {
// heroName: " ",
// heroSkill: " , , 。",
// },
// { heroName: " ", heroSkill: " 。" },
// ];
// heroModel.insert(arr, (err, results) => {
// console.log(err);
// console.log(results);
// if (!err) console.log(" ");
// });
// 4.3
// heroModel.find((err, results) => {
// console.log(results);
// });
// 4.4
// ['name'] :
// heroModel.find(["heroName", "heroSkill"], (err, results) => {
// console.log(results);
// });
// 4.5
// 'id=1' : id 1 ( sql )
// 'age>10' : age 10
// 'name>" "' : ,
// heroModel.find("id>2", (err, results) => {
// console.log(results);
// });
// 4.6 id = 1 ,age 30
// heroModel.update(
// "id=2",
// {
// heroName: " ",
// heroSkill: " , ",
// },
// (err, results) => {
// console.log(results);
// }
// );
//4.1 id>3
//
// , ( )
heroModel.delete("id>3", (err, results) => {
console.log(results);
});
王の栄光は倉庫に入る
crewler
機能紹介:
// 1. : crawler
// 1.
//
var Crawler = require("crawler");
//
var c = new Crawler({
maxConnections: 10,
// This will be called for each crawled page
callback: function (error, res, done) {
if (error) {
console.log(error);
} else {
var $ = res.$;
// $ is Cheerio by default
//a lean implementation of core jQuery designed specifically for the server
// console.log(JSON.parse(res.body)); // ,
//
// ename,
JSON.parse(res.body).forEach((v) => {
// console.log(`https://pvp.qq.com/web201605/herodetail/${v.ename}.shtml`);
// Queue just one URL, with default callback
xq.queue(`https://pvp.qq.com/web201605/herodetail/${v.ename}.shtml`);
});
}
done();
},
});
// heros ,
let heros = [];
// Queue just one URL, with default callback
c.queue("https://pvp.qq.com/web201605/js/herolist.json");
//
var xq = new Crawler({
maxConnections: 10,
// This will be called for each crawled page
callback: function (error, res, done) {
if (error) {
console.log(error);
} else {
var $ = res.$;
// $ is Cheerio by default
//a lean implementation of core jQuery designed specifically for the server
//
// console.log($(".cover-name").text(), $(".skill-name>b").first().text());
// console.log("https:" + $(".ico-play").prev("img").attr("src"));
//
heros.push({
heroName: $(".cover-name").text(),
heroSkill: $(".skill-name>b").first().text(),
heroIcon: "https:" + $(".ico-play").prev("img").attr("src"),
isDelete: false,
});
}
done();
},
});
// ,
xq.on("drain", function () {
// For example, release a connection to database.
// API:
heroModel.insert(heros, (err, results) => {
console.log(err);
console.log(results);
if (!err) console.log(" ");
});
});
MySQLを操作するための
// 2. : mysql-ithm
//1.
const hm = require("mysql-ithm");
//2.
// ,
hm.connect({
host: "localhost", //
port: "3306",
user: "root", // ,
password: "lijiazhao123", // ,
database: "wzry", //
});
//3. Model( : )
// table ,
let heroModel = hm.model("hero", {
heroName: String,
heroSkill: String,
heroIcon: String,
isDelete: String,
});