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

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

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

根据以上可得出,调用需要用到五个步骤,其中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=['','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页面上。

涉及到后端与前端交互的知识,不得不说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 = " ";//将获得的数据保存到myResultconnection.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:3000app.listen(3000);

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

- not end -

(我的学习笔记)