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 相关文章推荐
利用XMLHTTP传递参数在另一页面执行并刷新本页
Oct 26 Javascript
js jq 单击和双击区分示例介绍
Nov 05 Javascript
jQuery获得IE版本不准确webbrowser的解决方法
Feb 23 Javascript
使用时间戳解决ie缓存的问题
Aug 20 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
Oct 17 Javascript
Jquery api 速查表分享
Jan 12 Javascript
JavaScript必知必会(十) call apply bind的用法说明
Jun 08 Javascript
JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
Sep 19 Javascript
在Vue项目中引入腾讯验证码服务的教程
Apr 03 Javascript
vue element中axios下载文件(后端Python)
May 10 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
Sep 02 Javascript
原生js实现俄罗斯方块
Oct 20 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
PHP 字符串编码截取函数(兼容utf-8和gb2312)
2009/05/02 PHP
php 高性能书写
2010/12/11 PHP
PHP中的Memcache详解
2014/04/05 PHP
搭建Vim为自定义的PHP开发工具的一些技巧
2015/12/11 PHP
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
JS原型对象的创建方法详解
2016/06/16 Javascript
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
2016/12/14 Javascript
微信小程序 网络请求(post请求,get请求)
2017/01/17 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
2017/08/24 jQuery
JS实现验证码倒计时的注册页面
2018/01/02 Javascript
从源码里了解vue中的nextTick的使用
2018/11/22 Javascript
Vue infinite update loop的问题解决
2019/04/23 Javascript
jquery登录的异步验证操作示例
2019/05/09 jQuery
关于layui表单中按钮自动提交的解决方法
2019/09/09 Javascript
基于javascript处理nginx请求过程详解
2020/07/07 Javascript
[41:17]完美世界DOTA2联赛PWL S3 access vs CPG 第二场 12.13
2020/12/17 DOTA
python 写入csv乱码问题解决方法
2016/10/23 Python
使用Python对MySQL数据操作
2017/04/06 Python
详解Python下ftp上传文件linux服务器
2018/06/21 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
python对列进行平移变换的方法(shift)
2019/01/10 Python
python解析含有重复key的json方法
2019/01/22 Python
对python tkinter窗口弹出置顶的方法详解
2019/06/14 Python
2021年的Python 时间轴和即将推出的功能详解
2020/07/27 Python
用pushplus+python监控亚马逊到货动态推送微信
2021/01/29 Python
css3进行截取替代js的substring
2013/09/02 HTML / CSS
青年文明号复核材料
2014/02/11 职场文书
网络管理专业求职信
2014/03/15 职场文书
文明寝室申报材料
2014/05/12 职场文书
2015年设计师个人工作总结
2015/04/25 职场文书
毕业设计致谢语
2015/05/14 职场文书
环境卫生整治简报
2015/07/20 职场文书
MySQL 自定义变量的概念及特点
2021/05/13 MySQL
NodeJs使用webpack打包项目的方法详解
2022/02/28 NodeJs