当前位置:首页 > 芯闻号 > 充电吧
[导读]1.安装 我们需要一个mysql 和node环境,这里我自己的电脑没有安装mysql,用navicat连的同事的。注意如果碰到这个 “Host''xxx.xx.xxx.xxx''isnot allo

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 }





本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭