安装
npm install mysql
示例代码
/*
操作数据库的基本步骤
*/
//加载数据库驱动
var mysql = require('mysql');
//创建数据库连接
var connection = mysql.createConnection({
host : 'localhost',//数据库所在的服务器的域名或者IP地址
user : 'me', //用户名
password : 'secret', //密码
database : 'my_db' //连接数据库
});
//执行连接操作
connection.connect();
//执行查询SQL
connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].solution);
});
//关闭数据库
connection.end();
数据库增删改查操作
插入操作
//insert插入数据库
//加载数据库驱动
var mysql = require('mysql');
//创建数据库连接
var connection = mysql.createConnection({
host : 'localhost',//数据库所在的服务器的域名或者IP地址
user : 'me', //用户名
password : 'secret', //密码
database : 'my_db' //连接数据库
});
//执行连接操作
connection.connect();
let sql = 'insert inot book set ?';
let data = {
name: '明朝雁斜石',
author: '当年明月',
category: '文学',
desc: '明朝的历史'
}
//执行查询SQL
connection.query(sql, data, function (error, results, fields) {
if (error) throw error;
console.log(results);
if(results.affectRows == 1){
console.log('插入数据库成功');
}
});
//关闭数据库
connection.end();
更新操作
//更新操作
var mysql = require('mysql');
//创建数据库连接
var connection = mysql.createConnection({
host : 'localhost',//数据库所在的服务器的域名或者IP地址
user : 'me', //用户名
password : 'secret', //密码
database : 'my_db' //连接数据库
});
//执行连接操作
connection.connect();
let sql = 'update book set name=?, author=?, category=?, desc=? where id = ?';
let data = ['浪潮之巅','吴军','计算机','IT巨头的兴衰史', 1];
//执行查询SQL
connection.query(sql, data, function (error, results, fields) {
if (error) throw error;
console.log(results);
if(results.affectRows == 1){
console.log('更新数据库成功');
}
});
//关闭数据库
connection.end();
删除操作
//删除操作
var mysql = require('mysql');
//创建数据库连接
var connection = mysql.createConnection({
host : 'localhost',//数据库所在的服务器的域名或者IP地址
user : 'me', //用户名
password : 'secret', //密码
database : 'my_db' //连接数据库
});
//执行连接操作
connection.connect();
let sql = 'delete from book where id = ?';
let data = [1];
//执行查询SQL
connection.query(sql, data, function (error, results, fields) {
if (error) throw error;
console.log(results);
if(results.affectRows == 1){
console.log('删除数据库成功');
}
});
//关闭数据库
connection.end();
查询操作
//查询
var mysql = require('mysql');
//创建数据库连接
var connection = mysql.createConnection({
host : 'localhost',//数据库所在的服务器的域名或者IP地址
user : 'me', //用户名
password : 'secret', //密码
database : 'my_db' //连接数据库
});
//执行连接操作
connection.connect();
let sql = 'select * from book';
let data = null;
//执行查询SQL
connection.query(sql, data, function (error, results, fields) {
if (error) throw error;
console.log(results);
});
//关闭数据库
connection.end();
代码优化部分
db.js
/*封装操作数据库的通过API*/
const mysql = require('mysql');
exports.base = (sql, data, callback) =>{
//创建数据库连接
var connection = mysql.createConnection({
host : 'localhost',//数据库所在的服务器的域名或者IP地址
user : 'me', //用户名
password : 'secret', //密码
database : 'my_db' //连接数据库
});
//执行连接操作
connection.connect();
//执行查询SQL
connection.query(sql, data, function (error, results, fields) {
if (error) throw error;
callback(results);
});
//关闭数据库
connection.end();
}
dbTest.js
const db = require('./db.js');
//测试插入操作 其他操作只是sql和data不同,此处不再一一测试
let sql = 'insert into book set = ?';
let data = {
name: '笑傲江湖',
author: '金庸',
category: '文学',
desc: '武侠小说'
}
db.base(sql, data, (result) =>{
console.log(result);
});
以上是NodeJs操作数据库的实现增删改查的功能。