一文以Node.js 连接 MySQL为例操作数据库

百度已收录   阅读次数: 49
2021-10-0721:40:10 发表评论
摘要

前端方面已经深入学习和研究了一段时间了,接触到的Node.js也涉及到了数据库的知识,恰好也有这方面的需求,那么就写下这篇文章,以Node.js来操控数据库,并顺便把数据库Mysql的知识学会,伯衡君以w3schools上的教程条目一一学起,做此文章以总结,方便以后查看……

一文以Node.js 连接 MySQL为例操作数据库

开篇寄语

前端方面已经深入学习和研究了一段时间了,接触到的Node.js也涉及到了数据库的知识,恰好也有这方面的需求,那么就写下这篇文章,以Node.js来操控数据库,并顺便把数据库Mysql的知识学会,伯衡君以w3schools上的教程条目一一学起,做此文章以总结,方便以后查看……

前提准备

  • 安装Nodejs,前往Nodejs官网下载安装包,并安装到本机,加载mysql
  • 安装Mysql数据库到本机,同时建议安装MySQLWorkbench应用,并有一些数据库基础知识

内容详情

以上前提准备都已经做好后,就可以进行下一步骤啦,在此之前,先在本地数据库sys建立一个表格,伯衡君建立了一个名为tutorials_tbl的表格,同时新建了一些数据放进表格,如下图所示:

一文以Node.js 连接 MySQL为例操作数据库

要想让Node.js链接数据库,而不出现‘NodeJS MySQL Client does not support authentication protocol’错误,请在MySQLWorkbench,输入以下两条命令分别执行即可:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'your new password'; 
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your new password';

如下图所示:

一文以Node.js 连接 MySQL为例操作数据库

图中的'your new password'是指的自定义密码,待会链接的时候会用到。

接下来,打开VScode(伯衡君用的是此编辑器,还有其他可以根据需要自行选择),在其中新建一个js文件, 之后输入以下代码:

var mysql = require('mysql');

var connection = mysql.createConnection({
    host: 'localhost',//数据库安装在了本地就用这个啦
    user: 'root',
    port: '3306',
    password: 'your password',//上一步设置的密码在此处用到了
});

connection.connect();

var addSql = 'INSERT INTO sys.tutorials_tbl(tutorial_id,tutorial_title,tutorial_author,submission_date) VALUES(?,?,?,?)';
var addSqlParams = [3, 'Google', 'Zhang Boheng', '2021-09-30'];

connection.query(addSql, addSqlParams, function(err, result) {
    if (err) {
        console.log('[SELECT ERROR] - ', err.message);
        return;
    }
    console.log(result);
});

connection.end();

运行脚本后,调试窗口,就会出现如下内容:

一文以Node.js 连接 MySQL为例操作数据库

之后,到数据库就会看到有一条新数据增加了,如下图所示:

一文以Node.js 连接 MySQL为例操作数据库

又比如想删除第三条数据,那么之前学的MySQL基础知识就用到了,在js文件中输入以下代码:

var mysql = require('mysql');

var connection = mysql.createConnection({
    host: 'localhost', //数据库安装在了本地就用这个啦
    user: 'root',
    port: '3306',
    password: 'your password', //上一步设置的密码在此处用到了
});

connection.connect();

var delSql = 'DELETE FROM sys.tutorials_tbl WHERE tutorial_id = 3;';

connection.query(delSql, function(err, result) {
    if (err) {
        console.log('[SELECT ERROR] - ', err.message);
        return;
    }
    console.log(result);
});

connection.end();

运行后,查看数据库数据,可以看到第三条已经被删除了,如下图所示:

一文以Node.js 连接 MySQL为例操作数据库

这样一来,就可以利用Nodejs做一些复杂并且有趣的事情了,以上两个示例基本就够了,其他的数据库命令也是如法炮制,这样一来,Nodejs就这样实现前端和后端都链接了起来。

分享至:
  • 我的微信
  • 微信扫一扫加好友
  • weinxin
  • 我的微信公众号
  • 扫描关注公众号
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: