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关闭连接 如果不知道数据库的信息在哪里找可参考下图,数据库-数据库连接
是不是很简单,这样咱们就连接到了本地数据库
数据库的操作
连接到了数据库,后面咱们对数据库进行一些操作,先来张图看看
后面上代码进行数据库的操作
首先查询
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();
看下结果
来看下增加一条数据
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();
数据就这么增加上了
再来看下更新
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();
我们如图可以看到数据库当前数据已经更新
咱们再试着删除刚才操作的这条数据
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本地数据库我另开一片文章,后续连接会补充到这里,欢迎指指点点