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 相关文章推荐
JavaScript 序列化对象实现代码
Dec 18 Javascript
JS实现日期加减的方法
Nov 29 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
Mar 03 Javascript
node.js中的fs.linkSync方法使用说明
Dec 15 Javascript
jQuery中change事件用法实例
Dec 26 Javascript
在Node.js中使用HTTP上传文件的方法
Jun 23 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
Dec 02 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
Apr 10 Javascript
jquery.masonry瀑布流效果
May 25 jQuery
Vue2.0生命周期的理解
Aug 20 Javascript
详解@angular/cli 改变默认启动端口两种方式
Nov 29 Javascript
three.js 实现露珠滴落动画效果的示例代码
Mar 01 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
投票管理程序
2006/10/09 PHP
在数据量大(超过10万)的情况下
2007/01/15 PHP
PHP form 表单传参明细研究
2009/07/17 PHP
PHP include_path设置技巧分享
2011/07/03 PHP
php中unserialize返回false的解决方法
2014/09/22 PHP
yii,CI,yaf框架+smarty模板使用方法
2015/12/29 PHP
浅谈PHP中的那些魔术常量
2020/12/02 PHP
jquery如何把数组变为字符串传到服务端并处理
2014/04/30 Javascript
jQuery响应鼠标事件并隐藏与显示input默认值
2014/08/24 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
2016/06/07 Javascript
微信开发 消息推送实现代码
2016/10/21 Javascript
AngularJS执行流程详解
2017/02/17 Javascript
详解Angular 4.x NgTemplateOutlet
2017/05/24 Javascript
php 解压zip压缩包内容到指定目录的实例
2018/01/23 Javascript
JavaScript图片处理与合成总结
2018/03/04 Javascript
js中获取URL参数的共用方法getRequest()方法实例详解
2018/10/24 Javascript
Node.js assert断言原理与用法分析
2019/01/04 Javascript
Vue.js路由实现选项卡简单实例
2019/07/24 Javascript
JS定时器如何实现提交成功提示功能
2020/06/12 Javascript
关于element的表单组件整理笔记
2021/02/05 Javascript
python函数参数*args**kwargs用法实例
2013/12/04 Python
python判断字符串是否包含子字符串的方法
2015/03/24 Python
python操作日志的封装方法(两种方法)
2019/05/23 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
2019/08/12 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
2019/12/22 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
纯CSS实现预加载动画效果
2017/09/06 HTML / CSS
全球摩托车装备领导者:RevZilla
2017/09/04 全球购物
Bata印度官网:源自欧洲舒适鞋履品牌
2020/01/30 全球购物
2015年初中元旦晚会活动总结
2014/11/28 职场文书
公司考勤管理制度
2015/08/04 职场文书
初中班主任工作随笔
2015/08/15 职场文书
python解决12306登录验证码的实现
2021/04/18 Python
深入浅析Django MTV模式
2021/09/04 Python