UNPKG

@trithanka/sql-builder

Version:

A lightweight, function-based, chainable SQL query builder for Node.js using MySQL pool connections.

30 lines (25 loc) 860 B
const { createSelectBuilder } = require('../src'); const filters = { status: 'active', role: 'admin', fromDate: '2024-01-01', toDate: '2024-12-31', limit: 10, offset: 0 }; const builder = createSelectBuilder('SELECT * FROM users'); // Regular data query const { sql, values, countSql, countValues } = builder .where('status = ?', filters.status) .where('role = ?', filters.role) .where('created_at >= ?', filters.fromDate) .where('created_at <= ?', filters.toDate) .groupBy('role') // optional group .having('COUNT(*) > ?', 1) // optional having .orderBy('created_at', 'desc') .paginate(filters.limit, filters.offset) .build('count'); // pass 'count' if you also want count SQL console.log('Main SQL:', sql); console.log('Main Values:', values); console.log('Count SQL:', countSql); console.log('Count Values:', countValues);