queryize
v3.0.0
Published
A no-frills chainable/fluent interface for constructing mutable MySQL queries with data binding/escapement.
Downloads
99
Maintainers
Readme
#queryize.js
A no-frills chainable/fluent interface for constructing mutable MySQL queries with data binding/escapement.
##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': '[email protected]'})
.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 ['[email protected]']
var queryize = require('queryize');
var q = queryize()
.insert().into('users')
.set({name: 'John Doe', email: '[email protected]'})
.compile();
//q.query contains INSERT INTO users SET u.name = ?, u.email = ?
//q.data contains ['John Doe', '[email protected]']
var queryize = require('queryize');
var q = queryize()
.update().table('users')
.set({name: 'John Doe', email: '[email protected]'})
.where({'u.id':1})
.compile();
//q.query contains UPDATE users SET u.name = ?, u.email = ? WHERE u.id = ?
//q.data contains ['John Doe', '[email protected]', 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', '[email protected]', 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.