node连接本地mysql数据库

1,490 阅读4分钟

node连接本地数据库

简介

我们搭建了自己本地的MySQL数据库之后,现在咱们尝试启动node连接本地搭建的数据库

安装依赖

首先我们安装一下依赖,如果node没有安装的自行安装,不过我相信你已经有了

yarn add mysql

连接数据库

首先我们尝试连接数据库,本地新建一个test.js文件,先来一段代码,咱们对着代码进行解释

const mysql = require('mysql');
const connection = mysql.createConnection({
  host     : 'localhost',	//连接的数据库地址。(默认:localhost)
  user     : 'root',		//mysql的连接用户名
  password : '**********',		// 对应用户的密码
  database : 'demo'  		//所需要连接的数据库的名称(可选)
});
connection.connect();
connection.end();

如代码所示,咱们首选引入刚才安装的mysql模块,只需要mysql其中三个模块

  • createConnection用于创建一个数据库连接,正确添加数据库访问地址host,用户名user,密码password和所需要连接的数据库的名称
  • connect连接数据库
  • end关闭连接 如果不知道数据库的信息在哪里找可参考下图,数据库-数据库连接

QQ截图20220117143246.png 是不是很简单,这样咱们就连接到了本地数据库

数据库的操作

连接到了数据库,后面咱们对数据库进行一些操作,先来张图看看

QQ截图20220117144044.png

后面上代码进行数据库的操作

首先查询

const mysql = require('mysql');
const connection = mysql.createConnection({
  host     : 'localhost',	//连接的数据库地址。(默认:localhost)
  user     : 'root',		//mysql的连接用户名
  password : '**********',		// 对应用户的密码
  database : 'demo'  		//所需要连接的数据库的名称(可选)
});
connection.connect();
// 查询
connection.query('SELECT * FROM user', function (error, results, fields) {
  if (error) throw error;
  console.log('user: ', results);
});

connection.end();

看下结果

查询.png

来看下增加一条数据

const mysql = require('mysql');
const connection = mysql.createConnection({
  host     : 'localhost',	//连接的数据库地址。(默认:localhost)
  user     : 'root',		//mysql的连接用户名
  password : '**********',		// 对应用户的密码
  database : 'demo'  		//所需要连接的数据库的名称(可选)
});
connection.connect();
// 插入一条数据
const addSql = 'INSERT INTO user(username,email,password,create_time) VALUES(?,?,?,?)';
const addUserData = ['test','test@qq.com','test','2021-09-16 15:18:13'];
connection.query(addSql, addUserData, function(error, result){
  if(error){
    console.log('[INSERT err]-',error.message);
    return;
  }
  console.log('INSERT data:',result);
});

connection.end();

数据就这么增加上了

增加.png

再来看下更新

const mysql = require('mysql');
const connection = mysql.createConnection({
  host     : 'localhost',	//连接的数据库地址。(默认:localhost)
  user     : 'root',		//mysql的连接用户名
  password : '**********',		// 对应用户的密码
  database : 'demo'  		//所需要连接的数据库的名称(可选)
});
connection.connect();
// 更新
const updateSql = 'UPDATE user SET username = ? WHERE username = ?';
const updateUserData = ['testUpdate','test'];
connection.query(updateSql, updateUserData, function(error, result){
  if(error){
    console.log('[update err]-',error.message);
    return;
  }
  console.log('update data:',result);
})

connection.end();

我们如图可以看到数据库当前数据已经更新

更新.png

咱们再试着删除刚才操作的这条数据

const mysql = require('mysql');
const connection = mysql.createConnection({
  host     : 'localhost',	//连接的数据库地址。(默认:localhost)
  user     : 'root',		//mysql的连接用户名
  password : '**********',		// 对应用户的密码
  database : 'demo'  		//所需要连接的数据库的名称(可选)
});
connection.connect();
// 删除
const deleteSql = 'DELETE FROM user WHERE username="testUpdate"';
connection.query(deleteSql, function(error, result){
  if(error){
    console.log('[delete err]-',error.message);
    return;
  }
  console.log('delete data:',result);
})

connection.end();

这样我们就删除了这条数据,别找了,这次没截图

我们整合一下

const mysql = require('mysql');
const connection = mysql.createConnection({
  host     : 'localhost',	//连接的数据库地址。(默认:localhost)
  user     : 'root',		//mysql的连接用户名
  password : '1990411qiao',		// 对应用户的密码
  database : 'demo'  		//所需要连接的数据库的名称(可选)
});

connection.connect();
// 查询
connection.query('SELECT * FROM user', function (error, results, fields) {
  if (error) throw error;
  console.log('user: ', results);
});
// 插入一条数据
const addSql = 'INSERT INTO user(username,email,password,create_time) VALUES(?,?,?,?)';
const addUserData = ['test','test@qq.com','test','2021-09-16 15:18:13'];
connection.query(addSql, addUserData, function(error, result){
  if(error){
    console.log('[INSERT err]-',error.message);
    return;
  }
  console.log('INSERT data:',result);
});
// 更新
const updateSql = 'UPDATE user SET username = ? WHERE username = ?';
const updateUserData = ['testUpdate','test'];
connection.query(updateSql, updateUserData, function(error, result){
  if(error){
    console.log('[update err]-',error.message);
    return;
  }
  console.log('update data:',result);
})
// 删除
const deleteSql = 'DELETE FROM user WHERE username="testUpdate"';
connection.query(deleteSql, function(error, result){
  if(error){
    console.log('[delete err]-',error.message);
    return;
  }
  console.log('delete data:',result);
})
connection.end();

来个整体代码看看

const mysql = require('mysql');
const connection = mysql.createConnection({
  host     : 'localhost',	//连接的数据库地址。(默认:localhost)
  user     : 'root',		//mysql的连接用户名
  password : '1990411qiao',		// 对应用户的密码
  database : 'demo'  		//所需要连接的数据库的名称(可选)
});

connection.connect();
// 查询
connection.query('SELECT * FROM user', function (error, results, fields) {
  if (error) throw error;
  console.log('user: ', results);
});
// 插入一条数据
const addSql = 'INSERT INTO user(username,email,password,create_time) VALUES(?,?,?,?)';
const addUserData = ['test','test@qq.com','test','2021-09-16 15:18:13'];
connection.query(addSql, addUserData, function(error, result){
  if(error){
    console.log('[INSERT err]-',error.message);
    return;
  }
  console.log('INSERT data:',result);
});
// 更新
const updateSql = 'UPDATE user SET username = ? WHERE username = ?';
const updateUserData = ['testUpdate','test'];
connection.query(updateSql, updateUserData, function(error, result){
  if(error){
    console.log('[update err]-',error.message);
    return;
  }
  console.log('update data:',result);
})
// 删除
const deleteSql = 'DELETE FROM user WHERE username="testUpdate"';
connection.query(deleteSql, function(error, result){
  if(error){
    console.log('[delete err]-',error.message);
    return;
  }
  console.log('delete data:',result);
})
connection.end();

总结

通过node连接本地数据还是比较简单的,咱们用到的只有mysql的一个npm包,通过创建一个mysql连接实例,通过query API进行增删改查,不过需要一定的sql语法,不过网上教程很多,这里就不多罪数,关于怎搭建mysql本地数据库我另开一片文章,后续连接会补充到这里,欢迎指指点点