https://github.com/ppiyush13/json-sql-utility
Simple utility for converting JSON to SQL
https://github.com/ppiyush13/json-sql-utility
json-2-sql json-sql json-sql-utility json-to-sql json2sql jsonsql
Last synced: about 2 months ago
JSON representation
Simple utility for converting JSON to SQL
- Host: GitHub
- URL: https://github.com/ppiyush13/json-sql-utility
- Owner: ppiyush13
- Created: 2019-11-12T16:55:46.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-05T00:47:23.000Z (over 2 years ago)
- Last Synced: 2025-05-07T20:12:01.770Z (about 2 months ago)
- Topics: json-2-sql, json-sql, json-sql-utility, json-to-sql, json2sql, jsonsql
- Language: JavaScript
- Size: 1.39 MB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 14
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# json-sql-utility
[![module verion and npm link][npm]][npm-url]
[![bundlephobia minified size][size-min]][bundlephobia-url]
[![bundlephobia minizipped size][size-minzip]][bundlephobia-url]This module is useful for buidling SQL queries from JSON objects.
Currently only SELECT query is supported.## Install
```javascript
yarn add json-sql-utility
or
npm i json-sql-utility
```## Usage
Simple example```javascript
import { select } from "json-sql-utility"const query = select({
fields: ['A', 'B'],
aggregation: [
{
fn: 'count',
args: 'D',
alias: 'CNT'
}
],
from: 'STUDENTS',
where: [
{
operator: 'equal',
field: 'NAME',
value: 'Piyush'
},
{
operator: '=',
field: 'ROLL',
value: [13],
},
{
operator: 'OR',
conditions: [
{
operator: 'equal',
field: 'A',
value: 5,
},
{
operator: 'equal',
field: 'A',
value: 10,
}
]
},
{
operator: 'dateBetween',
field: 'BIRTH',
value: {
start: new Date(1975, 0, 1),
end: new Date(1999, 11, 31),
}
},
],
groupBy: ['A', 'B', 'C'],
orderBy: ['A'],
misc: [
"EXTERNAL NAME 'TestFuncs$MyMath.pow'"
],
});console.log(query);
/*
Will output:SELECT A, B, count(D) AS CNT FROM STUDENTS
WHERE NAME = 'Piyush' AND ROLL = 13 AND (A = 5 OR A = 10) AND
BIRTH BETWEEN '1975-01-01' AND '1999-12-31'
GROUP BY A, B, C
ORDER BY A
EXTERNAL NAME 'TestFuncs$MyMath.pow'*/
```[npm]: https://img.shields.io/npm/v/json-sql-utility.svg
[npm-url]: https://www.npmjs.com/package/json-sql-utility
[size-min]: https://img.shields.io/bundlephobia/min/json-sql-utility
[size-minzip]: https://img.shields.io/bundlephobia/minzip/json-sql-utility
[bundlephobia-url]: https://bundlephobia.com/result?p=json-sql-utility