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 相关文章推荐
拖动Html元素集合 Drag and Drop any item
Dec 22 Javascript
Javascript里使用Dom操作Xml
Jan 22 Javascript
js动态添加onclick事件可传参数与不传参数
Jul 29 Javascript
用AngularJS的指令实现tabs切换效果
Aug 31 Javascript
Bootstrap基本插件学习笔记之Popover提示框(19)
Dec 08 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
Jan 05 Javascript
TableSort.js表格排序插件使用方法详解
Feb 10 Javascript
AngularJS实现的锚点楼层跳转功能示例
Jan 02 Javascript
vue.js的computed,filter,get,set的用法及区别详解
Mar 08 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
Sep 01 Javascript
Vue中通过vue-router实现命名视图的问题
Apr 23 Javascript
浅谈JS的原型和原型链
Jun 04 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
Zend引擎的发展 [15]
2006/10/09 PHP
php Http_Template_IT类库进行模板替换
2009/03/19 PHP
DEDE采集大师官方留后门的删除办法
2011/01/08 PHP
如何获知PHP程序占用多少内存(memory_get_usage)
2012/09/23 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
2012/10/08 PHP
探讨方法的重写(覆载)详解
2013/06/08 PHP
使用php记录用户通过搜索引擎进网站的关键词
2014/02/13 PHP
PHP实现通过文本文件统计页面访问量功能示例
2019/02/13 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
javascript实现上传图片并预览的效果实现代码
2011/04/11 Javascript
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
利用python分析access日志的方法
2016/10/26 Javascript
js获取浏览器和屏幕的各种宽度高度
2017/02/22 Javascript
详解微信小程序 通过控制CSS实现view隐藏与显示
2017/05/24 Javascript
webstorm+vue初始化项目的方法
2018/10/18 Javascript
vue组件文档(.md)中如何自动导入示例(.vue)详解
2019/01/25 Javascript
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
使用xampp将angular项目运行在web服务器的教程
2019/09/16 Javascript
基于JS实现简单滑块拼图游戏
2019/10/12 Javascript
JavaScript实现动态留言板
2020/03/16 Javascript
js 数组当前行添加数据方法详解
2020/07/28 Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
2020/09/01 Javascript
python3.5实现socket通讯示例(TCP)
2017/02/07 Python
浅谈Pandas中map, applymap and apply的区别
2018/04/10 Python
Python根据已知邻接矩阵绘制无向图操作示例
2018/06/23 Python
numpy向空的二维数组中添加元素的方法
2018/11/01 Python
django drf框架自带的路由及最简化的视图
2019/09/10 Python
python使用numpy实现直方图反向投影示例
2020/01/17 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
2020/07/13 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
《李时珍夜宿古寺》教学反思
2014/04/09 职场文书
服装设计专业自荐信
2014/06/17 职场文书
体育口号大全
2014/06/18 职场文书
2015年中学元旦晚会活动方案
2014/12/09 职场文书
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技