GitHub
Community
Documentation
Online Web Demo

RBQL - RainBow Query Language

RBQL is a technology that provides SQL-like language for data-transformation and data-analysis queries for structured data (like CSV or TSV files). RBQL query is executed 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 basic understanding of SQL and one of the available backend languages. Maybe you already know RBQL! The first word "Rainbow" in RBQL reflects it's diverse multi-language nature.

RBQL has simple modular design and no third-party dependencies. To use RBQL with Python backend you need python interpreter installed, for JavaScript backend you need Node.js
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 many new cool features that traditional SQL engines do not provide! (And probably never will)

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 another table from disk (optional)
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 rendering capabilities - do not submit very big files!

1.

2. Choose file separator character:



Details: