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 相关文章推荐
Jquery实现显示和隐藏的4种简单方式
Aug 28 Javascript
jquery1.9 下检测浏览器类型和版本的方法
Dec 26 Javascript
浅谈Javascript中匀速运动的停止条件
Dec 19 Javascript
Javascript实现网络监测的方法
Jul 31 Javascript
jquery实现具有嵌套功能的选项卡
Feb 12 Javascript
JS实现上下左右对称的九九乘法表
Feb 22 Javascript
同步异步动态引入js文件的几种方法总结
Sep 23 Javascript
js中bool值的转换及“&amp;&amp;”、“||”、 “!!”详解
Dec 21 Javascript
JavaScript中filter的用法实例分析
Feb 27 Javascript
一看就会的vuex实现登录验证(附案例)
Jan 09 Javascript
package.json中homepage属性的作用详解
Mar 11 Javascript
javascript递归函数定义和用法示例分析
Jul 22 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 studio文件注释模板设置方法
2013/09/29 PHP
Yii框架的redis命令使用方法简单示例
2019/10/15 PHP
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
Jquery 获取指定标签的对象及属性的设置与移除
2014/05/29 Javascript
jquery的ajax异步请求接收返回json数据实例
2014/06/16 Javascript
javascript常见操作汇总
2014/09/03 Javascript
jQuery使用height()获取高度需要注意的地方
2014/12/13 Javascript
jquery实现submit提交表单
2015/02/03 Javascript
基于jquery实现导航菜单高亮显示(两种方法)
2015/08/23 Javascript
基于AngularJS+HTML+Groovy实现登录功能
2016/02/17 Javascript
数组Array的排序sort方法
2017/02/17 Javascript
详解vue-cli快速构建项目以及引入bootstrap、jq
2017/05/26 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
2017/07/03 Javascript
vue 的keep-alive缓存功能的实现
2018/03/22 Javascript
Vue实现简单的拖拽效果
2020/08/25 Javascript
[10:21]2018DOTA2国际邀请赛寻真——Winstrike
2018/08/11 DOTA
python 图片验证码代码分享
2012/07/04 Python
轻松掌握python设计模式之策略模式
2016/11/18 Python
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
centos6.7安装python2.7.11的具体方法
2017/01/16 Python
可能是最全面的 Python 字符串拼接总结【收藏】
2018/07/09 Python
django inspectdb 操作已有数据库数据的使用步骤
2021/02/07 Python
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
酒店办公室文员岗位职责
2013/12/18 职场文书
军训 自我鉴定
2014/02/03 职场文书
十一酒店活动方案
2014/02/20 职场文书
小区消防演习方案
2014/02/21 职场文书
个人安全生产责任书
2014/07/28 职场文书
营销计划书
2015/01/17 职场文书
2015年创先争优活动总结
2015/03/27 职场文书
道歉短信大全
2015/05/12 职场文书
干部考核工作总结2015
2015/07/24 职场文书
员工给公司的建议书
2019/06/24 职场文书
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
2022/04/04 Python