node package manager
Stop wasting time. Easily manage code sharing in your team. Create a free org »

queryize

queryize.js

A no-frills chainable/fluent interface for constructing mutable MySQL queries with data binding/escapement.

NPM version Licensed MIT ![Nodejs 4+](https://img.shields.io/badge/node.js-%3E=_4 LTS-brightgreen.svg) Downloads Build Status

Installation

NPM: npm install queryize

Usage

In Node or another CommonJS environment:

var queryize = require('queryize');
var query = queryize().select();
var select = require('queryize').select;
var query = select();

Visit queryizejs.com for documentation.

Examples

var select = require('queryize').select;
var q = select()
    .from('users', 'u')
    .innerJoin('passwords', {alias: 'p', on: {'u.id':'p.user_id'}})
    .where({'u.email': 'user@example.com'})
    .columns('u.id', 'p.hash')
    .compile();
 
//q.query contains SELECT u.id, p.hash FROM users u INNER JOIN passwords p ON (u.id = p.user_id) WHERE u.email = ? 
//q.data contains  ['user@example.com'] 
var queryize = require('queryize');
var q = queryize()
    .insert().into('users')
    .set({name: 'John Doe', email: 'user@example.com'})
    .compile();
 
//q.query contains INSERT INTO users SET u.name = ?, u.email = ? 
//q.data contains  ['John Doe', 'user@example.com'] 
var queryize = require('queryize');
var q = queryize()
    .update().table('users')
    .set({name: 'John Doe', email: 'user@example.com'})
    .where({'u.id':1})
    .compile();
 
//q.query contains UPDATE users SET u.name = ?, u.email = ? WHERE u.id = ? 
//q.data contains  ['John Doe', 'user@example.com', 1] 
var queryize = require('queryize');
var q = queryize()
    .deleteFrom('users')
    .where({'u.id':1})
    .compile();
 
//q.query contains DELETE FROM users WHERE u.id = ? 
//q.data contains  ['John Doe', 'user@example.com', 1] 

Running Unit Tests

From inside the repository root, run npm install to install the node-tap dependency.

Run npm test to execute the complete test suite.