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 键盘keyCode键码值表
Dec 24 Javascript
Js参数值中含有单引号或双引号问题的解决方法
Nov 06 Javascript
javascript实现给定半径求出圆的面积
Jun 26 Javascript
jQuery弹出下拉列表插件(实现kindeditor的@功能)
Aug 16 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
Oct 12 Javascript
node.js中的事件处理机制详解
Nov 26 Javascript
利用js获取下拉框中所选的值
Dec 01 Javascript
详解webpack打包vue时提取css
May 26 Javascript
Webpack打包css后z-index被重新计算的解决方法
Jun 18 Javascript
webpack@v4升级踩坑(小结)
Oct 08 Javascript
如何基于filter实现网站整体变灰功能
Apr 17 Javascript
elementUI同一页面展示多个Dialog的实现
Nov 19 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
推荐一篇入门级的Class文章
2007/03/19 PHP
php中文字母数字验证码实现代码
2008/04/25 PHP
WordPress中缩略图的使用以及相关技巧
2015/11/24 PHP
PHP机器学习库php-ml的简单测试和使用方法
2017/07/14 PHP
Mac系统下安装PHP Xdebug
2018/03/30 PHP
jQuery结合PHP+MySQL实现二级联动下拉列表[实例]
2011/11/15 Javascript
jquery聚焦文本框与扩展文本框聚焦方法
2012/10/12 Javascript
可选择和输入的下拉列表框示例
2013/11/05 Javascript
跟我学Nodejs(一)--- Node.js简介及安装开发环境
2014/05/20 NodeJs
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
jQuery深拷贝Json对象简单示例
2016/07/06 Javascript
原生js实现轮播图
2017/02/27 Javascript
使用jQuery实现动态添加小广告
2017/07/11 jQuery
webpack实现热更新(实施同步刷新)
2017/07/28 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
vant中的toast层级改变操作
2020/11/04 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
[01:08]DOTA2“血战之命”预告片
2017/08/12 DOTA
[08:06]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant 选手采访
2021/03/11 DOTA
python实现的udp协议Server和Client代码实例
2014/06/04 Python
详解Python网络爬虫功能的基本写法
2016/01/28 Python
基于Python实现一个简单的银行转账操作
2016/03/06 Python
微信跳一跳python辅助脚本(总结)
2018/01/11 Python
python 文件查找及内容匹配方法
2018/10/25 Python
HTML5实现表单自动验证功能实例代码
2017/01/11 HTML / CSS
ECCO英国官网:丹麦鞋履品牌
2019/09/03 全球购物
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
舞蹈教育学专业推荐信
2013/11/27 职场文书
女大学生自我鉴定
2013/12/09 职场文书
大学生通用个人的自我评价
2014/02/10 职场文书
国防教育标语
2014/10/08 职场文书
员工辞职信范文
2015/03/02 职场文书
解决Pytorch中关于model.eval的问题
2021/05/22 Python
VUE中的v-if与v-show区别介绍
2022/03/13 Vue.js
Python实现数据的序列化操作详解
2022/07/07 Python