Node.js 连接 MySQL
导言
在我们学习后端(node)的过程中,要时常和数据库打交道,所以说我们打通node、MySQLJavaScript实际上是对客户端、服务器、数据库的一个简单打通,有利于后面更加细致的学习node相关知识。
mysql基本的增删改查
1.在数据中插入数据,value里面是插入的数据insert into students values(插入的数据);
2.查询数据库 查询所有数据select * from 表名;
where后面是查询的条件select * from 表名 条件;
3.删除数据库数据delete from 表名 where 条件
4.修改数据库数据update 表名 set 列1=值1,。。。where 条件;
node对mysql数据库的操作
首先要在mysql里面创建一个数据库,备用
1.初始化npm init -y
2.导入mysql模块和crawler模块
3.使用crawler在网页上获取资源
4.通过nodejs打通服务器,将抓取资源插入数据库。
5.对数据库进行操作
在终端首先要去初始化程序,然后导入mysql模块。
下面我们来看看,使用mysql打通数据库
//导入mysql模块
const mysql = require("mysql");
// 导入crawler包
var Crawler = require("crawler");
// 创建一个数据库对象
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'root',
database: 'test'
});
//连接数据库
connection.connect();
// 创建爬虫对象
var c = new Crawler({
// 最大的连接数
maxConnections : 10,
callback : function (error, res, done) {
if(error){
console.log(error);
}else{
var $ = res.$;
var str = "";
var Data = [];
$(".hero_list li ").each((index, Element) => {
const heroImage = $(Element).find(".pic>a>img").attr("data-src");
const heroName = $(Element).find(".name>a").text();
Data.push({
heroImage,
heroName
})
connection.query(`insert into cq (heroName, heroImage) values("${heroName}", "${heroImage}")`, (error, results, fields) => {
if (error) throw error;
console.log(results);
});
})
}
done();
}
});
// connection.query(`insert into cq (heroName, heroImage) values("暗夜天使", "https://static.wikia.nocookie.net/cqcn/images/d/d3/%E5%85%89%E4%B9%8B%E5%8D%97%E4%B8%81%E6%A0%BC%E5%B0%94.png/revision/latest/scale-to-width-down/210?cb=20150929081930&path-prefix=zh")`, (error, results, fields) => {
// if (error) throw error;
// console.log(results);
// });
//爬取的网站
c.queue('https://cqcn.fandom.com/zh/wiki/%E5%89%91%E5%A3%AB');
// 关闭数据库连接
//connection.end();
在上面的代码中,我们可以省略数据库的连接和关闭
在node中,我们的经常将crawler(爬虫)和mysql一起配合使用,把网站上面的资源爬取到,然后插入建好的数据库中,以供后面的使用(渲染页面等)
本文地址:https://blog.csdn.net/CSH_lucky/article/details/107644400
上一篇: 功夫奥妙--科学看武术
下一篇: 功夫奥妙--夺命武器 农业生活