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

随著前端届技术大百花齐放, node已俨然成为前端开发中最具牛X的,里程碑式的技术之一,了掌握 node.js,已是每个前端程序员必备的技能了,近期接触 node.js操作 MySQL 数据库,进一步的加深对 node.js 的认识,随笔记录之

一、node MySQL 的安装

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

cnpm install mysql 

node mysql

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

//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 操作查询数据库的文件

//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入口文件了

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端口

node app

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,192评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,858评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,517评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,148评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,162评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,905评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,537评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,439评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,956评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,083评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,218评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,899评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,565评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,093评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,201评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,539评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,215评论 2 358

推荐阅读更多精彩内容