GitHub
Documentation
Online Web Demo

Rainbow Query Language

RBQL is a technology that provides SQL-like language for data-transformation and data-analysis queries for structured data (e.g. CSV files, log files, Python lists, JS arrays). RBQL evaluates input query using one of the available general-purpose "backend" languages (currently Python or JavaScript). RBQL allows to use non-SQL expressions inside SQL statements, e.g for JavaScript backend:
select a1, a2 * 10 where a1 == "Buy" && a4.indexOf('oil') != -1 order by parseInt(a2), a4 limit 100
Combination of SQL statements and expressions from a general-purpose language makes RBQL very easy to learn and use, you just need a basic understanding of SQL and one of the available backend languages. So maybe you already know RBQL! The first word "Rainbow" in RBQL reflects its diverse multi-language nature.

RBQL has simple modular design and no third-party dependencies. It is available as standalone CLI apps, text editor plugins and 2 libraries (for Python and JS) which would allow you to easily enhance your own app with SQL capabilities.
RBQL is available for the following platforms:
RBQL supports all main SQL keywords: SELECT, UPDATE, WHERE, ORDER BY, JOIN, DISTINCT, GROUP BY, TOP, LIMIT, ...
... And some cool features that traditional SQL engines do not provide!

RBQL implementation is based on a clever hack, see the explanation below if you are curious.

RBQL Web Demo

In this Web Demo only JavaScript backend is available.
Use the default test table below or "upload" your own.
Your data is safe: selected table doesn't actually get uploaded anywhere - all operations are performed locally in the browser.
Every query result is a first-class table.
Select spreadsheet file to use. Your data is safe: the file won't be sent over network - all operations are performed locally in the browser. Performance of this demo is limited by your browser processing capabilities - do not submit very big files!

1.

2. Choose file separator character:



Details: