node 连接MySQL

使用node创建一个服务端比java简单多,下面创建一个node服务端,连接MySQL并且将数据在浏览器显示出来

一. node创建服务端案例

var http = require("http");

http.createServer(function(request,response){
    response.writeHead(200, {'Content-Type': 'text/html;charset=utf-8'});
    response.end('哈喽,大家好!')
}).listen(8002);

console.log("启动命令:node server.js");
console.log("http://127.0.0.1:8002/");

启动命令:node 文件名.js就可以启动成功了
image
image

二. node连接MySQL

首先要下载MySQL驱动,在终端输入:
cnpm install mysql

// 引入MySQL
var mysql = require('mysql')

// 创建MySQL连接
var connection = mysql.createConnection({
    host: 'localhost',
    user: 'root', // 你的数据库用户名
    password: '123456', // 填写你自己的数据库密码
    port: '3306',
    database: 'mycaveolae', // 填写你自己的数据库名称
});

// 连接MySQL
connection.connect();

// 查询SQL
var sql = 'select * from china_province';  // 查询一个你自己数据库的表

// 执行查询
connection.query(sql,function(err,result){
    if(err){
        console.log("查询错误:" + err.message)
        return;
    }
    console.log("查询数据成功");
    console.log('------------------------select----------------------');
    console.log(result);
    console.log('----------------------------------------------------');
})

// 关闭连接
connection.end();

启动命令:node 文件名.js
查询成功

注意:可能会报错不支持:ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol,发生这个错误,

解决方法:https://www.freesion.com/article/59181086953/
前提你的电脑要先配置MySQL环境变量

三. 最后创建服务端,查询MySQL数据显示浏览器

这里不使用http了,我们使用express框架
安装 express 和 body-parser
cnpm install express --save
cnpm install body-parser --save

var express = require('express');
var app = express();
// 引入MySQL
var mysql = require('mysql')

// 创建MySQL连接
var connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',    // 你自己的数据库用户名
    password: '123456',  // 你自己数据库密码
    port: '3306',
    database: 'mycaveolae',  // 你自己的数据库名称
});

// 连接MySQL
connection.connect();

// 查询SQL
var sql = 'select * from china_province';   // 表名,你自己数据库里有数据的表

// 查询的数据
var data = [];

// 执行查询
connection.query(sql, function (err, result) {
    if (err) {
        console.log("查询错误:" + err.message)
        return;
    }
    data = result;
})

// 关闭连接
connection.end();

// get请求
app.get('/', function (req, res) {
    // 输出JSON格式
    res.send(JSON.stringify(data))
})
// 服务器:端口号8081
var server = app.listen(8081, function () {
    var host = server.address().address
    var port = server.address().port

    console.log("应用实例,访问地址为 http://%s:%s", host, port)

})

启动命令: node 文件名.js
浏览器显示的数据
https://files.cnblogs.com/files/blogs/699213/provinces.json?t=1669102557

posted @ 2022-11-22 16:00  合起来的彳亍  阅读(385)  评论(0编辑  收藏  举报