1.安装
我们需要一个mysql 和node环境,这里我自己的电脑没有安装mysql,用navicat连的同事的。
注意如果碰到这个 “
Host
''
xxx
.
xx
.
xxx
.
xxx
''
is
not
allowed
to
connect
to
this MySQL server" 。
那么在安装的那台电脑上修改 mysql 数据库中的 user 表 里的 host 项 从"localhost"改称"%" 然后重启mysql 服务就好了。
我们node 连接mysql 需要使用mysql模块。
先使用express-generator生成一个项目 mysqlTest。
先安装依赖模块,
$npm install
然后安装mysql模块。
$npm install mysql --save
2.使用
在router文件夹下建立 mysql.js文件
var db = {};
var mysql = require('mysql');
var user={
host: '10.81.36.167', //地址
user: 'root', //用户名
password: '123456', //密码
database: 'nodejs' //数据库
}
//创建连接
var connection = mysql.createConnection(user);
//查询
db.query = function (sql, callback) {
connection.query(sql, function (err, rows, fields) {
if (err) {
console.log(err);
callback(err, null);
return;
};
callback(null, rows, fields);
});
}
module.exports = db;
3.插入
修改index.js
//添加到var router后面
var db = require('./mysql.js');
插入方法:
router.get('/add', function(req, res, next) {
var sql = `insert into users (name,age) values ("丫头",16) `;
db.query(sql ,function(err,rows,fields){
if (err) {
console.log(err);
return;
}
console.log("插入成功");
console.log(rows)
})
});
浏览器请求http://localhost:3000/add,看到控制台输出,说明插入成功
OkPacket {
fieldCount: 0,
affectedRows: 1, //受影响的行数
insertId: 11, //插入的主键ID
serverStatus: 2,
warningCount: 0,
message: '',
protocol41: true,
changedRows: 0 }
4.修改
修改方法:
router.get('/update', function(req, res, next) {
var sql = `update users set name="二丫" where ID =11 `;
db.query(sql ,function(err,rows,fields){
if (err) {
console.log(err);
return;
}
console.log(rows)
})
});
浏览器请求http://localhost:3000/update 看到控制台输出,说明修改成功
OkPacket {
fieldCount: 0,
affectedRows: 1,
insertId: 0,
serverStatus: 2,
warningCount: 0,
message: '(Rows matched: 1 Changed: 1 Warnings: 0',
protocol41: true,
changedRows: 1 }
5.查询
查询方法:router.get('/select', function(req, res, next) {
var sql = `SELECT * from users `;
db.query(sql ,function(err,rows,fields){
if (err) {
console.log(err);
return;
}
console.log(rows);
})
});
浏览器请求http://localhost:3000/select,看到控制台输出,说明查询成功
6.删除
删除方法
router.get('/delete', function(req, res, next) {
var sql = `delete from users where ID =11 `;
db.query(sql ,function(err,rows,fields){
if (err) {
console.log(err);
return;
}
console.log(rows)
})
});
浏览器请求http://localhost:3000/delete,看到控制台输出,说明删除成功
OkPacket {
fieldCount: 0,
affectedRows: 1,
insertId: 0,
serverStatus: 2,
warningCount: 0,
message: '',
protocol41: true,
changedRows: 0 }