sql-csv

1.0.2 • Public • Published

sql-csv

sql-csv is a simple library that allows you to run SQL queries on CSV files.

Table of Contents

Installation

You can install sql-csv using npm: npm install sql-csv

Usage

To use sql-csv, you first need to create a new instance of the CsvSql class:

const CsvSql = require('sql-csv');

const csvSql = new CsvSql('path/to/csv/file.csv');

You can also pass url to a CSV file:

const csvSql = new CsvSql('https://example.com/file.csv');

You can then run SQL queries on the CSV data using the query method:

const result = await csvSql.query('SELECT * FROM file WHERE column1 = "value"');
  • The table name in the query must match the name of the CSV file.

  • The column names in the query must match the column names in the CSV file.

  • The values in the query must be enclosed in double quotes.

  • The query must end with a semicolon.

  • The result will be an array of objects, where each object represents a row in the CSV file.

Supported SQL Syntax

sql-csv supports a subset of the SQL syntax. The following SQL statements are supported:

  • SELECT
  • FROM
  • WHERE
  • AND
  • OR
  • ORDER BY
  • GROUP BY
  • HAVING
  • LIMIT
  • OFFSET

The following operators are supported:

  • =
  • !=
  • >
  • <
  • >=
  • <=

The following functions are supported:

  • COUNT
  • MIN
  • MAX
  • AVG
  • SUM
  • DISTINCT

Examples

const result = csvSql.query('SELECT * FROM data');
const result = csvSql.query('SELECT column1, column2 FROM data');

Benchmark Results

Query 1: SELECT * FROM data

Rows Time (ms)
1000 19.9
10000 54.7
100000 63.5376
1000000 4528.325

Query 2: SELECT * FROM data WHERE column1 = "value"

Rows Time (ms)
1000 8.53
10000 43.8
100000 52.5
1000000 2330.46

Readme

Keywords

none

Package Sidebar

Install

npm i sql-csv

Weekly Downloads

4

Version

1.0.2

License

MIT

Unpacked Size

50.6 kB

Total Files

10

Last publish

Collaborators

  • suyash-thakur