A browser-based CSV database with SQL query support
Project description
CSVSQL
A browser-based database that uses CSV files as storage. Open CSV files as tables, run SQL queries against them, and edit data inline — all in a multi-window interface with no server or build step required.
Features
- CSV as database tables — Each CSV file is a table. Open multiple files and query across them.
- SQL queries — Write and execute SQL from the built-in console (powered by AlaSQL). Each query result opens in its own window.
- Inline editing — Click any cell to edit. Tab/Enter to navigate, Escape to cancel.
- Sort and filter — Click column headers to sort. Use the filter bar to search across all columns.
- Multi-window workspace — Every table and query result lives in its own draggable, resizable subwindow. Arrange them with Tile, Grid, or Cascade layouts.
- Row management — Add/delete rows, insert rows at any position (right-click row numbers), add new columns.
- Save — Export any table or query result back to CSV.
Getting Started
No dependencies to install. Just serve the files or open directly:
# Option 1: any static file server
python3 -m http.server 8000
# then open http://localhost:8000
# Option 2: open directly
open index.html
Use File > Open CSV to load a CSV file (a sample.csv is included), or File > New Table to create one from scratch.
SQL Console
The console sits at the bottom of the window. Type a query and press Ctrl+Enter (or click Run) to execute.
-- Query a loaded table by its filename (minus extension)
SELECT * FROM sample WHERE name LIKE 'A%'
-- Aggregate queries
SELECT department, AVG(salary) as avg_salary FROM employees GROUP BY department
-- Join across tables
SELECT a.name, b.value FROM table1 a JOIN table2 b ON a.id = b.id
Table names are derived from the CSV filename (e.g., employees.csv becomes employees).
Keyboard Shortcuts
| Key | Action |
|---|---|
| Ctrl+Enter | Execute SQL query |
| Tab / Shift+Tab | Navigate between cells in a row |
| Enter | Move to next row (same column) |
| Escape | Cancel cell edit |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file csvsql-0.7.0.tar.gz.
File metadata
- Download URL: csvsql-0.7.0.tar.gz
- Upload date:
- Size: 28.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27b83333d6a56d0d0ecd009cc2937e5c8a914eb612adc492b2b36349659d7e66
|
|
| MD5 |
4b6e582d6df855ae3a41c3175fc3d92e
|
|
| BLAKE2b-256 |
0fa2f25f3c1bcd5f71bf0bede26a0c6957fc0aa26aa580da6ae36ff825464a45
|
File details
Details for the file csvsql-0.7.0-py3-none-any.whl.
File metadata
- Download URL: csvsql-0.7.0-py3-none-any.whl
- Upload date:
- Size: 28.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b77fe8c9473328af8b8fc7395b895703c00e6b7609dc4df70352c678f138ce22
|
|
| MD5 |
0e795a49bafe1699db1e46c16068d6be
|
|
| BLAKE2b-256 |
61d9f58abba7673fa99e70a1b236da364f05cd25acd12f6f6fdea71831263aee
|