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

例子仅在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、运行示例程序;

(0)

相关推荐

  • Node.js中JavaScript操作MySQL的常用方法整理

    一.建立数据库连接:createConnection(Object)方法       该方法接受一个对象作为参数,该对象有四个常用的属性host,user,password,database.与php中链接数据库的参数相同.属性列表如下: host: 连接数据库所在的主机名. (默认: localhost) port: 连接端口. (默认: 3306) localAddress: 用于TCP连接的IP地址. (可选) socketPath: 链接到unix域的路径.在使用host和port时该参

  • Node.js的Koa框架上手及MySQL操作指南

    由 Express 原班人马打造的 koa,致力于成为一个更小.更健壮.更富有表现力的 Web 框架.使用 koa 编写 web 应用,通过组合不同的 generator,可以免除重复繁琐的回调函数嵌套,并极大地提升常用错误处理效率.Koa 不在内核方法中绑定任何中间件,它仅仅提供了一个轻量优雅的函数库,使得编写 Web 应用变得得心应手. 安装koa koa 依赖支持 generator 的 Node 环境,也就是说,node的版本要在 0.11.9 或者更高,否则将无法执行. 用npm: $

  • node.js操作mysql简单实例

    上篇文章介绍了node.js操作redis的简单实例,这里介绍如何操作mysql. 安装 安装mysql模块 cnpm install mysql 一个例子 新建一个mysql.js的文件,代码如下: 连接配置 1.host:主机地址 (默认:localhost) 2.user:用户名 3.password:密码 4.port:端口号 (默认:3306) 5.database:数据库名 6.charset:连接字符集(默认:'UTF8_GENERAL_CI',注意字符集的字母都要大写) 7.lo

  • Node.js操作mysql数据库增删改查

    关于node.js操作mysql数据库的相关介绍请阅读全文吧.下文介绍的非常详细,具体内容如下所示:  安装mysql模块 npm install mysql 数据库准备 mysql server所在的机器IP地址是192.168.0.108,登录账户就用root@123456 在mysql中创建test数据库 在test数据库中创建一张users表 操作 连接数据库 var mysql=require('mysql'); var connection = mysql.createConnect

  • node.js操作mysql(增删改查)

    最近这段时间研究Node感觉不错,自己做了一个增删改查,虽然有些简陋,但是思想是想通的,其实所有项目都是增删改查,有助于初学者快速掌握Node  首先 本实例展示的是基于Node+Express+node-mysql快速搭建的一套增删改查,视图模板是jade,基本上都是现在能用的到的技术,市面上的实例也特别少,有用的又不新,所以自己写一个  基本工作 首先我们准备一些基本的,因为我是用mysql麻烦可以自己装一下mysql,去官网可以下各种操作系统的安装包. 实例就一张表,下面是这张表的建表语句

  • node.js 开发指南 – Node.js 连接 MySQL 并进行数据库操作

    Node.js是一套用来编写高性能网络服务器的JavaScript工具包   通常在NodeJS开发中我们经常涉及到操作数据库,尤其是 MySQL ,作为应用最为广泛的开源数据库则成为我们的首选,本篇就来介绍下如何通过NodeJS来操作 MySQL 数据库. 安装MySQL模块到NodeJS中 我们需要让NodeJS支持MySQL,则需要将MySQL模块添加到系统支持库   想要快速了解Node.js ,赞生推荐亲看看 node.js_guide.pdf  - node.js 开发指南 :想要电

  • 通过node-mysql搭建Windows+Node.js+MySQL环境的教程

    前言 MySQL是一款常用的开源数据库产品,通常也是免费数据库的首选.查了一下NPM列表,发现Nodejs有13库可以访问MySQL,felixge/node-mysql似乎是最受关注项目,我也决定尝试用一下. 要注意名字,"felixge/node-mysql"非"node-mysql",安装部分会介绍这个小插曲! 目录 node-mysql介绍 建立MySQL测试库 node-mysql安装 node-mysql使用 1. node-mysql介绍 felixg

  • Node.js开发指南中的简单实例(mysql版)

    言归正传:1.为什么会想写这篇文章?答:因为在看这本书的过程中,因为nodejs版本升级后用法跟书中不同了.另外因为nodejs这东西真的不错,值得学习.2.我的例子与书中例子的区别?答:nodejs版本不同,我例子中用的是最新版本.数据库不同,书中用的是mongdb,我用的是mysql. models->用于放模型对象,书中例子有post话题和user用户两个对象node_modules->nodejs的模块,例如 mysql .express.connect-flash.ejs.jade等

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

    例子仅在windows下测试通过,没有放在linux下测试.如有问题,可以电邮给我~ 1.安装node.js.mysql,此处略(自行搜索吧)-: 2.创建一个名为test的数据库,然后建一张名为user_info的表(仅供测试)- 这里假定mysql使用的用户名为root,密码为123456 相应的mysql如下: 复制代码 代码如下: /** * 创建名为test的数据库 */ DROP DATABASE IF EXISTS test; CREATE DATABASE test; USE t

  • C#中调用MySQL存储过程的方法

    本文实例讲述了C#中调用MySQL存储过程的方法.分享给大家供大家参考.具体如下: 这段代码演示在 C# 程序中调用 MySQL 的存储过程,没有返回值,没有参数传递. MySqlConnection myConnection; myConnection = new MySqlConnection(); myConnection.ConnectionString = "database="+database+";server="+ server+";use

  • asp.net后台cs中的JSON格式变量在前台Js中调用方法(前后台示例代码)

    复制代码 代码如下: //后台cs代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Login_jg : System.Web.UI.Page { protected void Page_Load(object sende

  • node.js中Util模块作用教程示例详解

    目录 从类型判断说起 严格相等 Error First & Promise 调试与输出 从类型判断说起 在 JavaScript 中,进行变量的类型校验是一个非常令人头疼的事,如果只是简单的使用 typeof 会到各种各样的问题. 举几个简单的: console.log(typeof null) // 'object' console.log(typeof new Array) // 'object' console.log(typeof new String) // 'object' 后来,大

  • Python通过调用mysql存储过程实现更新数据功能示例

    本文实例讲述了Python通过调用mysql存储过程实现更新数据功能.分享给大家供大家参考,具体如下: 一.需求分析 由于管理费率配置错误,生成订单的还本付息表和订单表的各种金额,管理费之间的计算都有错误,需要进行数据订正.为此,为了造个轮子,以后省很多功夫,全部用程序去修正,不接入人工. 二.带参数mysql 存储过程创建 1.更新订单付息表(t_order_rapay) drop procedure if exists update_t_order_rapay; delimiter $$ c

  • node.js中 redis 的安装和基本操作示例

    本文实例讲述了node.js中 redis 的安装和基本操作.分享给大家供大家参考,具体如下: 一.win下安装redis https://github.com/MicrosoftArchive/redis/releases 下载Redis-x64-3.2.100.zip,然后解压,放到自定义目录. 然后打开命令行工具,进入到该目录下,运行安装redis服务. redis-server.exe --service-install redis.windows-service.conf --logl

  • node.js中process进程的概念和child_process子进程模块的使用方法示例

    本文实例讲述了node.js中process进程的概念和child_process子进程模块的使用方法.分享给大家供大家参考,具体如下: 进程,你可以把它理解成一个正在运行的程序.node.js中每个应用程序都是进程类的实例对象. node.js中有一个 process 全局对象,通过它我们可以获取,运行该程序的用户,环境变量等信息. 一.process 对象 console.log('可执行文件绝对路径', process.execPath); console.log('版本号', proce

  • node.js中 mysql 增删改查操作及async,await处理实例分析

    本文实例讲述了node.js中 mysql 增删改查操作及async,await处理.分享给大家供大家参考,具体如下: 要对mysql进行操作,我们需要安装一个mysql的库. 一.安装mysql库 npm install mysql --save 二.对mysql进行简单查询操作 const mysql = require('mysql'); //创建数据库连接 let conn = mysql.createConnection({ //主机地址 host: '127.0.0.1', //用户

  • Node.js实现连接mysql数据库功能示例

    本文实例讲述了Node.js实现连接mysql数据库功能.分享给大家供大家参考,具体如下: Node.js连接数据库前,需要安装相应的包,如果安装sql server 需要先装包node-sqlserver.我们以mysql为案例来说明node.js查询mysql数据. 1.安装 node-mysql npm install node-mysql 2.通过express框架实现数据库连接 var express = require('express'); var mysql = require(

  • Node.js下向MySQL数据库插入批量数据的方法

    项目(nodejs)中需要一次性插入多笔数据到数据库,数据库是mysql的,由于循环插入的性能太差,就像使用批量插入的方法提高数据的插入性能. 批量插入的数据库的表结构如下: 1.数据库连接 var mysql = require('mysql'); // 数据库信息 var connection = mysql.createConnection({ host : 'localhost', user : '数据库用户名', password : '数据库登录密码', database : '操作

随机推荐