通过node.js操作数据库的进行增删改查操作,需要借助一个包:mysql
自定义一个包mydb
创建入口文件index.js
安装mysql:
npm install mysqljs/mysql
编写入口文件index.js(操作数据库基本步骤):
- 加载数据库驱动:
const mysql = require('mysql');
- 创建数据库连接:
const connection = mysql.createConnection({
host: 'localhost', // 数据库所在的服务器的域名或者IP地址 当前数据库存在于主机上
user: 'root', // 登录数据库的账号
password: '', // 登录数据库的密码
database: 'book' // 数据库名称
});
- 执行连接操作:
connection.connect();
- 操作数据库(增删改查):
示例操作:
connection.query('select count(*) as total from book', function(error, results, fields) {
if (error) throw error;
console.log('表book中共有', results[0].total + '条数据');
});
添加数据操作:
let sql = 'insert into book set ?'
let data = {
name : '明朝那些事',
author : '当年明月',
category : '文学',
description : '明朝的历史'
}
// 操作数据库
connection.query(sql,data, function(error, results, fields) {
if (error) throw error;
// console.log(results);
if(results.affectedRows == 1){
console.log('数据插入成功');
}
});
更新数据操作:
let sql = 'update book set name=?,author=?,category=?,description=? where id=?';
let data = ['浪潮之巅','吴军','计算机','IT巨头的兴衰史',6];
connection.query(sql,data, function(error, results, fields) {
if (error) throw error;
// console.log(results);
if(results.affectedRows == 1){
console.log('更新成功');
}
});
删除数据操作:
let sql = 'delete from book where id = ?';
let data = [6];
// 操作数据库
connection.query(sql,data, function(error, results, fields) {
if (error) throw error;
// console.log(results);
if(results.affectedRows == 1){
console.log('删除成功');
}
});
查询数据操作:
let sql = 'select * from book';
let data = null;
// 操作数据库
connection.query(sql,data, function(error, results, fields) {
if (error) throw error;
console.log(results);
console.log(results[0].name);
});
let sql = 'select * from book where id = ?';
let data = [5];
// 操作数据库
connection.query(sql,data, function(error, results, fields) {
if (error) throw error;
console.log(results);
console.log(results[0].name);
});
- 关闭数据库:
connection.end();
封装操作数据库的通用api:
const mysql = require('mysql');
exports.base = (sql,data,callback) => {
// 创建数据库连接
const connection = mysql.createConnection({
host: 'localhost', // 数据库所在的服务器的域名或者IP地址
user: 'root', // 登录数据库的账号
password: '', // 登录数据库的密码
database: 'book' // 数据库名称
});
// 执行连接操作
connection.connect();
// 操作数据库(数据库操作也是异步的)
connection.query(sql,data, function(error, results, fields) {
if (error) throw error;
callback(results);
});
// 关闭数据库
connection.end();
}