create-sql
SQL Generator for node.js, fork of this package
Installation
npm install create-sql
Examples
INSERT
var sqlgen = ; var stmt = sqlgen; // it return this // stmt = { sql: 'INSERT INTO test_table ( foo, bar, buz ) VALUES ( $1, $2, $3, ARRAY[ $4, $5 ], $6 )', values: 1 'text' '2011-10-10' 'a' 'a' '{1,2}' };
SELECT
var sqlgen = ; var stmt = sqlgen; // it return this // stmt = { sql: 'SELECT id FROM base_table WHERE id >= $1', // values: [ 33 ] }; var stmt2 = sqlgen; // it return this // stmt2 = { sql: 'SELECT * FROM test_table \ // WHERE foo = $1 AND bar >= $2 AND buz > $3 AND buz < $4 AND hoge LIKE $5 \ // AND fuga IN ( $6, $7, $8 ) AND ( moge = $9 OR moge = $10 OR moge = $11 OR moge != $12 ) \ // AND ( red = $13 OR blue = $14 OR green != $15 ) \ // AND base_table_id IN ( SELECT id FROM base_table WHERE id >= $16 ) ORDER BY id', // values: [ 1, 10, 100, 200, '%john%', 1, 2, 3, 6, 7, 8, 9, 1, 2, 3, 33 ] }; // columns of type ARRAY var ary_stmt = sqlgen; // it return this // ary_stmt = { sql: 'SELECT * FROM array_table \ // WHERE $1 = ANY(text_ary1) AND $2 = ALL(text_ary2) AND ($3 = ANY(num_ary1) OR $4 = ANY(num_ary1)) \ // AND ($5 != ALL(num_ary2) OR $6 != ALL(num_ary2)) \ // AND (SELECT id FROM base_table WHERE id >= $7) = ANY(num_ary3) ORDER BY id', // values: [ 'hoge', 'fuga', 1, 2, 1, 2, 33 ] }
UPDATE
var sqlgen = ; var stmt = sqlgen; // it return this // stmt = { sql: 'UPDATE test_table SET foo = $1, bar = $2, buz = $3, ary_num = $4, ary_txt = ARRAY[ $5, %6 ] WHERE id = $7', values: 20 30 40 '{1,2}' 'a' 'b' 10 }; // or callback pattern // sqlgen.update( 'table_name', { wheres..... }, { datas..... }, // function( sql, values ) { // .. // .. // .. // } );
DELETE
var sqlgen = ; var stmt = sqlgen; // it return this // stmt = { sql: 'DELETE FROM test_table WHERE some_flag = $1', values: 1 }; ## License The MIT Licenselicensemd