node.js连接数据库有很多种,比如:mongoose,oracle,mysql...,我自己玩就选了一个我很熟悉的轻量级的mysql数据库尝试了一把,感觉不错。

首先要把mysql客户端安装好,官网http://dev.mysql.com/downloads/mysql/

安装好的版本是以这样呈现的

注:因为在mysql5.6版本有启动有bug,会闪退,所以将my-default.ini文件名改成my.ini就可以弹出启动界面

用这样界面操作不是很直观,于是我下了一个有视图界面很直观的可以操作的Navicat for MySQL,界面效果如下:

mysql数据库安装完成并且创建了一个数据库名叫“klm”,其中里面有一张表叫“goods”接下来我要通过node.js来连接获取到数据。

首先怎么用呢?

node.js已经给提供了一个mysql封装,只要在对应的项目工程目录下执行npm install mysql

在你的工程目录就会自动下载代码,如图:

这个时候在我的项目工程下的node_modules目录下就会出现一个mysql文件下,看到这个说明下载成功了,现在可以引用了。

首先我们要创建一个js来做连接,这个js随便你放在项目工程的那个位置,只要引用到mysql就行,先看代码:

/**
* Created by 蒯灵敏 on 15-2-4.
*/
var _mysql = require('mysql'); //创建连接
var mysql = _mysql.createConnection({
//主机
host: '127.0.0.1',
//用户
user: 'root',
//密码
password: '123456',
//端口
port: 3306,
//数据库名
database: 'klm'
});var _sql = "select * from goods"; //创建一个数据库连接
mysql.connect(function (err) {
if (err) {
console.log('connect-' + err);
}
console.log('connect succeed...');
}); mysql.query(_sql, function (err, rows) {
if (err) {
console.log("query-" + err);
}
console.log("query succeed..." + rows); }); //关闭连接
mysql.end(function (err) {
if (err) {
return;
}
console.log("close succeed...");
});

在node开发中需要什么样的模块 都会通过require在引用,

代码中的 var _mysql = require("mysql");是引用整个mysql模块,

然后在这个模块中提供了createConnection()用来创建连接,这里连接数据库的方式让我想到了JDBC的写法,建立常量用户名,密码等,在这里直接设置了“主机”,“用户名”,“密码”,“端口”,“数据库名”就能进行连接,

mysql.connect可以用来判断是否连接成功,如果连接成功了,程序会往下走。想要进行“增删改查”的操作,在mysql这个封装中只提供了一个函数query()来执行,第一个参数是sql语句,第二个参数是函数,用来接收查询结果。

这个操作连接很简单,记录下这种方式,也许以后有用到。。。

最后执行一下这个js 就会看到结果:如图

node.js链接mysql的更多相关文章

  1. 关于Node.js 链接mysql超时处理(默认8小时)

    备注:这是在pm2配置node环境下,超过8小时mysql自动关闭的情况下出现的解决方法:1.封装mysql.js var mysql = require('mysql'); var connecti ...

  2. Node.js 连接 MySQL 并进行数据库操作

    Node.js 连接 MySQL 并进行数据库操作  按照这篇操作mysql的指引,我远程操作了我另一台电脑的mysql数据库. var mysql = require('mysql'); var c ...

  3. Node.js连接MySQL数据库及构造JSON的正确姿势

    做一下整理,以前也很随意的引入包链接数据库,后来发现常常连接出问题,异常退出,后来使用在网上一个方法解决问题,网址由于书签丢失,抱歉不能引用了.再有就是简单的模块化下,使得目录合理点,再有就是说明一下 ...

  4. Node.js连接Mysql,并把连接集成进Express中间件中

    引言 在node.js连接mysql的过程,我们通常有两种连接方法,普通连接和连接池. 这两种方法较为常见,当我们使用express框架时还会选择使用中间express-myconnection,可以 ...

  5. 使用node js 操作 Mysql 数据库

    使用node js 操作 Mysql 数据库 http://www.nodejs.org/ //node js 数据库操作 MySQL //使用https://github.com/felixge/n ...

  6. APNs功能之Node.js和Mysql应用总结

    APNs功能之Node.js和Mysql应用总结 这篇文档主要是总结Node.js和Mysql的学习心得体会.当然也可以看作是此前所写的消息推送服务的续篇. 简单描述下应用背景,我们的应用需要实现苹果 ...

  7. node.js连接MySQL操作及注意事项

    node.js作为服务端的js运行环境已经出现了有几年了,最近我有个朋友也在做这方面的开发,但是也是刚刚接触,遇到了很多坑.前几天他们在操作数据库的时候出现了点问题,后来我们一起看了看,其实都是nod ...

  8. node.js使用mysql模块的坑

      之前用node.js写的订餐系统,很容易挂掉,一直也没想去解决它.今天看了一下,试了试,原因是在连接数据库的时候没有对error事件进行处理,导致程序一直挂在那里,需要重启服务才能正常使用.   ...

  9. 分享Node.js + Koa2 + MySQL + Vue.js 实战开发一套完整个人博客项目网站

    这是个什么的项目? 使用 Node.js + Koa2 + MySQL + Vue.js 实战开发一套完整个人博客项目网站. 博客线上地址:www.boblog.com Github地址:https: ...

随机推荐

  1. July 9th, Week 28th Saturday, 2016

    Every cloud has a silver lining. 山穷水尽疑无路,柳暗花明又一村. Every cloud has a silver lining, that just because ...

  2. linux初体验

    linux系统和window一样,也是一套独立的操作系统,它只是没有图形化界面而已

  3. Jquery.Datatables td宽度太长的情况下,自动换行

    在 td 里面 加上 style="word-wrap:break-word;" 自动换行就好了,如果不想换行,可以将超出内容设为隐藏, overflow:hidden; whit ...

  4. MVC - 10.CodeFrist

    微软示例 1.(对新数据库使用 Code First):http://msdn.microsoft.com/zh-cn/data/jj193542 2.(连接和模型):http://msdn.micr ...

  5. 微信支付:“当前页面的URL未注册”

    最近在尝试着写微信支付方面的内容,今天下午的时候遇到了一个问题,也就是当前页面没有进行注册的问题. 在写好后台代码之后我在微信后台配置了测试授权目录和支付白名单,如下图所示,但是无论我如何进行测试总是 ...

  6. golang exec Command

    package mainimport ( "fmt" "log" "os/exec")func main() { out, err := e ...

  7. .Net Ioc Unity

    Unity 的接口IUnityContainer public interface IUnityContainer : IDisposable IUnityContainer RegisterType ...

  8. [Outlook]设置邮件自动接收时间

    [Outlook]设置邮件自动接收时间   找了好久,一直都没设置正常,导致老是收到邮件有延迟,今天头脑清晰,搜了一下,然后自己竟然给找到了,记下来当笔记,好记性不如烂笔头,呵呵   搜索百度&quo ...

  9. Android屏幕适配全攻略(最权威的官方适配指导) (转)

    招聘信息: Cocos2d-X 前端主程 [新浪微博]手机客户端iOS研发工程师 20k-40k iOS 开发工程师 iOS高级开发工程师(中国排名第一的企业级移动互联网云计算公司 和创科技 红圈营销 ...

  10. HDU 1561 The more, The Better 树形DP

    The more, The Better Problem Description   ACboy很喜欢玩一种战略游戏,在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中ACboy允许攻克M ...