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. Android错误:Re-installation failed due to different application signatures

    Re-installation failed due to different application signatures (2013-04-20 14:27:32) 转载▼ 标签: 解决方法 问题 ...

  2. Mac与iPhone屏幕录制

    1. Mac电脑屏幕录制 1.1 文件->新建屏幕录制   1.2 点击红色按钮   1.3 截取需要录制的屏幕部分,点击开始录制   1.4 点击工具栏的停止按钮,停止录制   1.5 然后会 ...

  3. React之JSX入门

    React是由ReactJS与React Native组成,其中ReactJS是Facebook开源的一个前端框架,React Native 是ReactJS思想在native上的体现! JSX并不是 ...

  4. AngularJS 控制器 ng-controller

    AngularJS 控制器 控制 AngularJS 应用程序的数据. AngularJS 控制器是常规的 JavaScript 对象. AngularJS 应用程序被控制器控制. ng-contro ...

  5. APP测试流程(个人整理)

  6. Dubbo超时和重连机制

    dubbo启动时默认有重试机制和超时机制.超时机制的规则是如果在一定的时间内,provider没有返回,则认为本次调用失败,重试机制在出现调用失败时,会再次调用.如果在配置的调用次数内都失败,则认为此 ...

  7. 设计模式学习之外观模式(Facade,结构型模式)(8)

    1.什么是外观模式为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用 2.为什么要使用外观模式在软件开发系统中,客户程序经常会与复杂系统的内 ...

  8. 11g 使用rman duplicate复制数据库,创建辅助实例

    一,创建所需目录 1)创建审计文件目录 PROD1@dbrac1 /dsg/oracle11$ cd $ORACLE_BASE/admin PROD1@dbrac1 /u01/app/oracle/a ...

  9. C# SMTP邮件发送 分类: C# 2014-07-13 19:10 334人阅读 评论(1) 收藏

    邮件发送在网站应用程序中经常会用到,包括您现在看到的博客,在添加评论后,系统会自动发送邮件通知到我邮箱的,把系统发送邮件的功能整理了下,做了一个客户端Demo,希望对有需要的童鞋有所帮助: 核心代码: ...

  10. Win10 保存Element到相册

    保存控件到相册 private async void saveImg_Click(object sender, RoutedEventArgs e) { StorageFolder savedPics ...