node.js学习笔记(10)--mysql模块连接mysql数据库
扫描二维码
随时随地手机看文章
1.安装
我们需要一个mysql 和node环境,这里我自己的电脑没有安装mysql,用navicat连的同事的。
注意如果碰到这个 “Host''xxx.xx.xxx.xxx''isnot
allowedtoconnectto
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 }