node学习十五:node.js操作数据库

通过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();
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值