Nodejs 操作[通过XAMPP安装的]MySQL数据库简明指南

Nodejs 操作[通过XAMPP安装的]MySQL数据库简明指南

Nodejs 操作MySQL数据库的前提是你的计算机中安装好Nodejs 和MySQL数据库。本文介绍如何使用 Node.js 来连接通过XAMPP安装的 MySQL,并对数据库进行操作。

要想使用Node操作MySql数据库,除了已安装MySQL数据库和Nodejs,还需要安装mysql模块(包)——node.js 操作 MySQL的驱动程序。

XAMPP安装的MySQL如何命令行中的使用

【XAMPP(Apache+MySQL+PHP+PERL) 是一个功能强大的建站集成软件包 ,详见 XAMPP入门详解_cnds123的专栏-CSDN博客

XAMPP安装的MySQL二进制文件应该在你的XAMPP文件夹下, 查找bin文件夹,您将找到mysql.exe客户端。 假设它在D:\xampp\mysql\bin中,将之加入到系统变量中:

以Windows10系统为例:

先要使用XAMPP Control Panel(XAMPP控制面板)启动MySQL,再以管理员身份启动“cmd”,在cmd(微软 Windows系统的命令行程序)中如下操作:

查看mysql版本

MySQL –V

若显示正常

就可以使用mysql了

先登录

mysql -u root -p

xampp 的MySQL默认的用户名root的密码(Password)默认为空

查看默认安装的数据库

show databases;

参见下图:

 这说明可以正常使用MySQL了

如何使用 Node.js连接MySQL

在项目文件夹(js程序文件所在的目录)中,安装mysql模块(包)——node.js 操作 MySQL的驱动程序——否则,node.js 连接mysql时报错:error: cannot find module 'mysql'

我这儿的项目文件夹是D:\NodeTest

先用cd命令切换到项目文件夹D:\NodeTest

cd /d D:\NodeTest

再用npm install mysql安装mysql模块(包),参见下图:

其中有几条警告(WARN)可以先不管。

【注,其中:npm WARN saveError ENOENT: no such file or directory, open xx/xx/x/package.json。

原因是:项目里面没有发现package.json文件,可以先不管,若想解决可这样处理:

cd命令切换到项目所在的目录(目录也叫文件夹)

npm init

创建package.json文件,系统会提示询问相关配置(可键入配置,也可直接按回车键,回车即设置默认参数)

或者,npm init -y

直接创建package.json文件,系统不再提示询问。】

此时,已经通过npm install mysql成功安装了mysql组件,将在D:\NodeTest中产生node_modules子目录。

现在建立一个名connTest.js脚本文件,用来测试连接,若连接成功将提示“Connected to the MySQL server.”,其内容如下:

/*引入mysql模块*/
let mysql = require('MySQL');
/*创建连接*/
let connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: '',
    //database: ''
});
/*连接mysql*/
connection.connect(function(err) {
  if (err) {
    return console.error('error: ' + err.message);
  }
  console.log('Connected to the MySQL server.');
});
/*关闭连接mysql*/
connection.end();

将connTest.js脚本文件保存到项目文件夹D:\NodeTest中,参见下图:

 运行node D:\NodeTest\connTest.js,参见下图:

之后,就可以练习用Nodejs运行JavaScript脚本文件(JavaScript程序)进行MySQL数据库的各种操作了。

现在建立一个创建数据库mysrcDB的脚本文件,文件名为nodejs_mysql_DB.js,保存在D:\NodeTest中,源码如下:

let mysql = require('mysql');
let con = mysql.createConnection({
	host: "localhost", user: "root", password: ""
});
 
con.connect(function(err) {
	if (err) throw err;
	console.log("Connected!");
        //建立数据库mysrcDB
	con.query("CREATE DATABASE mysrcDB", function (err, result) {
		if (err) throw err;
		console.log("Database created");
	});
        /*关闭连接mysql*/
        con.end();
});

运行此脚本node D:\NodeTest\nodejs_mysql_DB.js,参见下图:

 现在可以建立一个名为mysqlTest.js的脚本文件,对前面建立的mysrcDB数据库,建表MYTABLE,对该表进行插入数据、更新数据、更新数据等操作,源码如下:

// 引入Mysql
let mysql      = require('mysql');
let connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '',
  database : 'mysrcDB'
});
 
// 执行数据库连接
connection.connect();
 
let sqlstring = "";
 
// 创建表
sqlstring = "Create Table MYTABLE (name VARCHAR(20), sex CHAR(1))"
connection.query(sqlstring, function (err, results, fields) {
    if (err) {
         console.log('[UPDATE ERROR] - ', err.message);
        return;
    }
    console.log('--------------------------CREATE----------------------------');      
    console.log('CREATE TABLE:', results);       
    console.log('------------------------------------------------------------\n\n'); 
});
 
// 插入数据
sqlstring = "Insert into MYTABLE Values('Michael', 'm')";
connection.query(sqlstring, function (err, result) {
    if(err){
        console.log('[INSERT ERROR] - ', err.message);
        return;
    }       
 
   console.log('--------------------------INSERT----------------------------');      
   console.log('INSERT ID - ', result);       
   console.log('------------------------------------------------------------\n\n'); 
});
 
// 更新数据
sqlstring = "Update MYTABLE Set name = 'Michael Jordan' Where sex = 'm'";
connection.query(sqlstring, function (err, result) {
    if(err){
        console.log('[UPDATE ERROR] - ', err.message);
        return;
    }       
    console.log('--------------------------UPDATE----------------------------');
    console.log('UPDATE affectedRows - ', result.affectedRows);
    console.log('------------------------------------------------------------\n\n'); 
});
 
// 查询数据
sqlstring = "Select * From MYTABLE";
connection.query(sqlstring, function (err, result) {
    if(err){
        console.log('[SELECT ERROR] - ', err.message);
        return;
    }
 
    console.log('--------------------------SELECT---------------------------');
    console.log('SELECT - ', result);
    console.log('------------------------------------------------------------\n\n');  
});
 
//删除数据
sqlstring = "Delete From MYTABLE";
connection.query(sqlstring, function (err, result) {
    if(err){
        console.log('[DELETE ERROR] - ', err.message);
        return;
    }       
 
    console.log('--------------------------DELETE----------------------------');
    console.log('DELETE affectedRows - ', result.affectedRows);
    console.log('------------------------------------------------------------\n\n'); 
});
 
//删除表格
sqlstring = "Drop Table MYTABLE";
connection.query(sqlstring, function (err, result) {
    if(err){
        console.log('[DROP ERROR] - ', err.message);
        return;
    }       
 
    console.log('--------------------------DROP-----------------------------');
    console.log('DROP TABLE :', result.affectedRows);
    console.log('------------------------------------------------------------\n\n');   
});
 
// 断开数据库连接
connection.end();

运行此脚本node D:\NodeTest\mysqlTest.js,参见下图:

Nodejs执行DROP DATABASE语句可以删除已建立的数据库

MySQL的DROP DATABASE删除已建立的数据库,如删除已建立的数据库db_name

DROP DATABASE IF EXISTS db_name

Mysql在Node中的具体使用  https://juejin.cn/post/6858226888645869575

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
以下是使用Node.js操作MySQL数据库的示例代码: 1.安装mysql模块 ```shell npm install mysql ``` 2.连接MySQL数据库 ```javascript const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'test' }); connection.connect((err) => { if (err) throw err; console.log('Connected!'); }); ``` 3.创建数据库 ```javascript const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password' }); connection.connect((err) => { if (err) throw err; console.log('Connected!'); connection.query('CREATE DATABASE test', (err, result) => { if (err) throw err; console.log('Database created!'); }); }); ``` 4.创建表 ```javascript const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'test' }); connection.connect((err) => { if (err) throw err; console.log('Connected!'); const sql = 'CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))'; connection.query(sql, (err, result) => { if (err) throw err; console.log('Table created!'); }); }); ``` 5.插入数据 ```javascript const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'test' }); connection.connect((err) => { if (err) throw err; console.log('Connected!'); const sql = 'INSERT INTO customers (name, address) VALUES ("Company Inc", "Highway 37")'; connection.query(sql, (err, result) => { if (err) throw err; console.log('1 record inserted'); }); }); ``` 6.查询数据 ```javascript const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'test' }); connection.connect((err) => { if (err) throw err; console.log('Connected!'); const sql = 'SELECT * FROM customers'; connection.query(sql, (err, result) => { if (err) throw err; console.log(result); }); }); ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习&实践爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值