Node.js中调用mysql存储过程示例

 更新时间:2014年12月20日 09:42:21   投稿:junjie  
这篇文章主要介绍了Node.js中调用mysql存储过程示例,本文在windows环境测试通过,本文一并给出了创建数据库、录入数据、创建存储过程、调用存储过程等例子,需要的朋友可以参考下

例子仅在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, '张三');

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:模块查找,引用及缓存机制详解

    Node.js:模块查找,引用及缓存机制详解

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它的模块查找、引用和缓存机制是其重要的特性之一。本文将介绍Node.js的模块查找、引用和缓存机制,以及如何利用这些机制来提高应用程序的性能和可维护性。
    2023-03-03
  • Node.js用Socket.IO做聊天软件的实现示例

    Node.js用Socket.IO做聊天软件的实现示例

    本文主要介绍了Node.js用Socket.IO做聊天软件的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法

    NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法

    这篇文章主要介绍了NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • 用Node.JS打造一个恶劣天气实时预警系统

    用Node.JS打造一个恶劣天气实时预警系统

    本文将从实战的角度出发,利用NodeJS以及聚合数据的第三方免费接口打造一个完整的天气实时预警项目系统,具有一定的参考价值,感兴趣的可以了解一下
    2021-12-12
  • 利用n工具轻松管理Node.js的版本

    利用n工具轻松管理Node.js的版本

    我们在测试写的Nodejs的程序在不同Nodejs版本下是否能正常运行,或是我们想要尝试下最新版 Nodejs 的新特性,但常用的代码需要旧版本的 Nodejs的时候就需要用 Node 版本管理工具,本文介绍的是利用n工具如何轻松管理Node.js的版本,需要的朋友可以参考下。
    2017-04-04
  • node基于express框架操作Mysql数据库的步骤

    node基于express框架操作Mysql数据库的步骤

    这篇文章主要介绍了node基于express框架操作Mysql数据库的步骤,文章给大家提到安装mysql模块和配置mysql模块的步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • 编译打包nodejs服务代码如何部署到服务器

    编译打包nodejs服务代码如何部署到服务器

    这篇文章主要介绍了编译打包nodejs服务代码如何部署到服务器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • Node的文件系统你了解多少

    Node的文件系统你了解多少

    这篇文章主要为大家详细介绍了Node的文件系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件

    Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件

    在Node.js中,要实现目录文件夹的循环递归复制也非常简单,使用fs模块即可,仅需几行,而且性能也不错,我们先来实现文件的复制,需要的朋友可以参考下
    2017-09-09
  • node ftp上传文件夹到服务器案例详解

    node ftp上传文件夹到服务器案例详解

    这篇文章主要介绍了node ftp上传文件夹到服务器的视线方法,结合具体实例分析了node.js调用ftp模块进行文件上传的相关配置、连接、path路径操作与文件传输实现方法,需要的朋友可以参考下
    2023-04-04

最新评论