Node.js中调用mysql存储过程示例


Posted in Javascript onDecember 20, 2014

例子仅在windows下测试通过,没有放在linux下测试。如有问题,可以电邮给我~

1、安装node.js、mysql,此处略(自行搜索吧)…;

2、创建一个名为test的数据库,然后建一张名为user_info的表(仅供测试)…

这里假定mysql使用的用户名为root,密码为123456

相应的mysql如下:

/**

* 创建名为test的数据库

*/

DROP DATABASE IF EXISTS test;

CREATE DATABASE test;

USE test;

 

/**

* 创建user_info表

*/

DROP TABLE IF EXISTS `user_info`;
CREATE TABLE `user_info` (

  `userId` int(10) NOT NULL AUTO_INCREMENT,

  `userName` varchar(20) DEFAULT NULL,

  PRIMARY KEY (`userId`)

) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
/**

* 插入三条记录

*/

INSERT INTO user_info VALUES (NULL, '张一'), (NULL, '张二'), (NULL, '张三');

Node.js中调用mysql存储过程示例

3、创建存储过程(写的很冗余,故意的… 正好学习一下语法>_<);

DELIMITER $$

DROP PROCEDURE IF EXISTS `test`.`proc_simple`$$

CREATE PROCEDURE proc_simple(IN uid INT(10), OUT uName VARCHAR(2), OUT totalCount INT)

BEGIN
DECLARE str_name VARCHAR(20);
SET @str_name = '';

SET totalCount = 0;

        SELECT COUNT(1),userName INTO totalCount,@str_name FROM user_info WHERE userId = uid;        

        SET uName = @str_name;

        SELECT uName, totalCount;

        

    END$$

DELIMITER ;

4、写程序进行调用(假定存为名为sql.js的文件);

/**

 * Created with JetBrains WebStorm.

 * User: Meteoric_cry

 * Date: 12-12-28

 * Time: 上午00:18

 * To change this template use File | Settings | File Templates.

 */

var mysql = require('mysql');
var connection = mysql.createConnection({

    host : 'localhost',

    port : 3306,

    user : 'root',

    password : '123456',

    database : 'test',

    charset : 'UTF8_GENERAL_CI',

    debug : false

});
connection.connect();
connection.query('CALL proc_simple(1, @a, @b);', function(err, rows, fields) {

    if (err) {

       throw err;

    }
    var results = rows[0];

    var row = results[0];

    console.log("userName:",row.uName, "
count:", row.totalCount);

});
connection.end();

5、运行示例程序;

Node.js中调用mysql存储过程示例

Javascript 相关文章推荐
this[] 指的是什么内容 讨论
Mar 24 Javascript
根据一段代码浅谈Javascript闭包
Dec 14 Javascript
JS中怎样判断undefined(比较不错的方法)
Mar 27 Javascript
jquery使用each方法遍历json格式数据实例
May 18 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
Aug 15 Javascript
angular双向绑定模拟探索
Dec 26 Javascript
常用jQuery选择器汇总
Feb 02 Javascript
node.js中cluster的使用教程
Jun 09 Javascript
mui back 返回刷新页面的实例
Dec 06 Javascript
使用JS获取页面上的所有标签
Oct 18 Javascript
vue-loader中引入模板预处理器的实现
Sep 04 Javascript
JavaScript队列结构Queue实现过程解析
Mar 07 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
Dec 20 #Javascript
jQuery多媒体插件jQuery Media Plugin使用详解
Dec 19 #Javascript
jquery图片播放浏览插件prettyPhoto使用详解
Dec 19 #Javascript
js中匿名函数的创建与调用方法分析
Dec 19 #Javascript
浅谈Javascript中匀速运动的停止条件
Dec 19 #Javascript
浅谈Javascript如何实现匀速运动
Dec 19 #Javascript
Javascript添加监听与删除监听用法详解
Dec 19 #Javascript
You might like
Ajax+PHP边学边练 之五 图片处理
2009/12/03 PHP
php 无法载入mysql扩展
2010/03/12 PHP
ueditor 1.2.6 使用方法说明
2013/07/24 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
2015/05/12 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
2016/11/01 PHP
php实现微信扫码支付
2017/03/26 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
2019/06/06 PHP
MooTools 1.2中的Drag.Move来实现拖放
2009/09/15 Javascript
两种WEB下的模态对话框 (asp.net或js的分别实现)
2009/12/02 Javascript
js 处理URL实用技巧
2010/11/23 Javascript
浅谈Javascript事件处理程序的几种方式
2012/06/27 Javascript
Jquery操作radio的简单实例
2014/01/06 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
javascript中的throttle和debounce浅析
2014/06/06 Javascript
jQuery支持动态参数将函数绑定到事件上的方法
2015/03/17 Javascript
JavaScript中getUTCSeconds()方法的使用详解
2015/06/11 Javascript
JavaScript实现广告的关闭与显示效果实例
2015/07/02 Javascript
JSON简介以及用法汇总
2016/02/21 Javascript
jQuery.deferred对象使用详解
2016/03/18 Javascript
JS数组去掉重复数据只保留一条的实现代码
2016/08/11 Javascript
javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
2016/10/27 Javascript
微信小程序  checkbox组件详解及简单实例
2017/01/10 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
2017/10/18 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
浅谈React前后端同构防止重复渲染
2018/01/05 Javascript
vue awesome swiper异步加载数据出现的bug问题
2018/07/03 Javascript
Node.js动手撸一个静态资源服务器的方法
2019/03/09 Javascript
TypeScript高级用法的知识点汇总
2019/12/17 Javascript
nodejs+express最简易的连接数据库的方法
2020/12/23 NodeJs
[43:51]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS Secret
2018/03/31 DOTA
Python中的字符串查找操作方法总结
2016/06/27 Python
PyTorch中的Variable变量详解
2020/01/07 Python
Keras实现支持masking的Flatten层代码
2020/06/16 Python
基于HTML5代码实现折叠菜单附源码下载
2015/11/27 HTML / CSS
人事行政专员岗位职责
2014/07/23 职场文书
烈士陵园观后感
2015/06/08 职场文书