美文网首页
Node.js —— 学习笔记之mysql框架

Node.js —— 学习笔记之mysql框架

作者: 海de我 | 来源:发表于2018-10-14 22:38 被阅读0次

Node.js 是一种轻量级服务端的JavaScript语言,最重要的是还备了多个框架,其中 mysql 是一种较流行的关系型数据库管理系统 。

本文章学习 mysql 与 node.js 如何交互使用。

参考链接:https://github.com/mysqljs/mysql#readme


安装

$ npm install mysql  //node.js自带的npm命令

初次使用

//1、nodejs下调用mysql框架
var mysql = require('mysql');

//2、mysql的createConnection方法,创建连接对象
var connection = mysql.createConnection({
    host:'localhost',
    user:'root',
    password:'root',
    port:'3306',
});

//3、连接sql,可以无参
connection.connect(function(err){
    if(err){
        console.log("连接失败");
    }else{
        console.log("连接成功");
    }
});

//4、执行sql,简单明了
connection.query('select 1+1 as result',function(err,results){
    if(err){
        console.log('执行失败');
    }else{
        console.log('执行成功');
        console.log('结果是' + results[0].result);
    }
})

//5、断开sql,完成了
connection.end();

根据以上可得出,调用需要用到五个步骤,其中 query 方法应该是最重要的,涉及到了实现后端传送sql语句到数据库。

主要想记一下connection.query方法的使用。

数据库操作

我首先创建了一个数据库 school ,在数据库中新建一个表 student(id,name,score);

然后修改一下 connection 的参数

var connection = mysql.createConnection({
    host:'localhost',
    user:'root',
    password:'root',
    port:'3306',
    database:'school'
});

接下来只要修改一下上面的connection.query方法并插入一些语句就可以了。

数据插入

var  addSql = 'insert into student(id,name,score) values(?,?,?)';
var  addSql_Params = ['100001','chen',88];

connection.query(addSql,addSql_Params,function(err,result){
    if(err){
        console.log('插入失败' + err);
        return;
    }
        console.log('插入成功');
        console.log(result);
})

从执行结果可以看出result包含一些重要的信息,之后可能会用到。

数据更新

var  updateSql = "update student set name = ?,score = ? where id='3'";
var  undateSql_Params = ["air", '95'];

connection.query(updateSql,undateSql_Params,function(err,result){
    if(err){
        console.log('更新失败' + err);
        return;
    }
        console.log('更新成功');
        console.log(result);
})

执行结果看出,是否改变可以看 changedRows是否大于0

数据查询

var  selectSql = 'select * from student';

connection.query(selectSql,function(err,result){
    if(err){
        console.log('查询失败' + err);
        return;
    }
        console.log('查询成功');
        console.log(result);
})

从执行结果可以看出返回一个JSON格式的数组。

数据删除

var  deleteSql = " delete from student where name='huang' ";

connection.query(deleteSql,function(err,result){
    if(err){
        console.log('删除失败' + err);
        return;
    }
        console.log('删除成功');
        console.log(result);
})

从执行结果可以看出 affectedRows:1应该可以看出受影响了1行

看来使用非常简单,那就好说了!

想尝试把数据库的数据渲染到HTML页面上。

数据库数据渲染到HTML

涉及到后端与前端交互的知识,不得不说node.js了,这里使用到了node.js的express框架

(之后再写一下学习笔记整理一下把!)

简单试着实现一波

//express和mysql框架
var express = require('express');
var mysql = require('mysql');
var app=express();

//mysql的连接
var connection = mysql.createConnection({
    host:'localhost',
    user:'root',
    password:'root',
    port:'3306',
    database:'school'
})
connection.connect();

var  mySql = " select * from student ";
var myResult = " ";   //将获得的数据保存到myResult

connection.query(mySql,function(err,result){
    if(err){
        console.log('查询失败' + err);
        return;
    }
        //由于浏览器无法直接识别从数据库获得的数据result,需要用JSON解析
        myResult = JSON.stringify(result); 
        console.log(myResult);
})

//get方法
app.get('/',function(req,res){
    res.send(myResult); //发送到网页前端
})

connection.end();

//监听端口,默认localhost:3000
app.listen(3000);

基本的功能也就实现了,之后还得上手数据库的交互,前端数据获取等等。

相关文章

网友评论

      本文标题:Node.js —— 学习笔记之mysql框架

      本文链接:https://www.haomeiwen.com/subject/ditxzftx.html