Fork me on GitHub
IT开发者

Node.js+Express+MySQL 操作数据库小记

一、node MySQL 的安装

1.进入项目命令行安装,我这里使用的是 cnpm 安装。

1
cnpm install mysql

node mysql

2.在安装成功 MySQL 之后就是编写相关MySQL配置了,我写了一个mysql.js文件,node.js的mysql驱动

1
2
3
4
5
6
7
8
9
10
11
12
13
//mysql.js
var mysql = require('mysql'); //调用MySQL模块
//创建一个connection
var connection = mysql.createConnection({
host: '127.0.0.1', //主机
user: 'root', //数据库用户名
password: '123456', //数据库密码
port: '3306',
database: 'tpcms', //数据库名称
charset: 'UTF8_GENERAL_CI' //数据库编码
});

module.exports = connection

这样一个简单的数据库连接驱动就写好了,当然需要填写正确相关配置 数据库用户名、密码、数据库名称,这里要注意的是 charset 编码的问题,一开始我没有添加,返现返回回来的数据是乱码的,将 配置 exports,再其他文件就可以导入使用了

3.我现在再新建一个select.js select 操作查询数据库的文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//select.js
const express = require('express');
const http = require('http');
const app = express()
var router = express.Router();
const connection = require('./sql');//导入mysq配置文件

//创建一个connection连接
connection.connect(function(err) {
if (err) {
console.log('[query] - :' + err);
return;
}
console.log('[connection connect] succeed!'); //如果连接成功 控制台输出 success 了
});


app.get('/', function(req, res) {
var res = res;
var req = req;

//执行SQL语句,这里是一条简单的MySQL查询语句
var sql = "select description, title,content,time from tp_post";
connection.query(sql, function(err, rows, fields) {
if (err) {
console.log('[query] - :' + err);
return;
}
console.log(rows)
res.send(rows) //这里在页面上输出数据
console.log('The solution is: ', rows[0].solution);
});
})


module.exports = app

好的,select.js 文件编写好了,expor t导出,在 app.js 入口文件使用

4.编写配置好app.js入口文件了

1
2
3
4
5
6
7
8
9
10
const express = require('express');
const http = require('http');
const app = express()
var router = express.Router();

//配置路由 这样访问localhost:3000/select就能访问的接口了
app.use('/select', require('./api/select'))
app.use(router);
app.listen(3000);
console.log(3000);

ok,现在在命令行启动项目了,进入项目目录,执行 node app,项目监听的3000端口

1
node app

我这里是出现 启动成功,也就是输出了select.js文件里面的这一句

1
console.log('[connection connect]  succeed!'); //如果连接成功 控制台输出success了

图片
运行成功了,我在浏览器上输入 访问地址 localhost:3000/mysql,在页面上返回的就是以下json 数据了

json

到这里为止,一个简单的node.js+Express 操作MySQL就完成了,一个小demo作为自己的总结记录。

文献参看
http://www.oschina.net/translate/node-mysql-tutorial?utm_source=tuicool&utm_medium=referral

-------------本文结束感谢您的阅读-------------