| Crates.io | mdsql |
| lib.rs | mdsql |
| version | 0.1.0 |
| created_at | 2025-12-24 07:51:57.347572+00 |
| updated_at | 2025-12-24 07:51:57.347572+00 |
| description | SQL queries for markdown tables |
| homepage | |
| repository | https://github.com/divanvisagie/mdsql |
| max_upload_size | |
| id | 2002849 |
| size | 79,408 |
SQL queries for markdown tables.
Warning: This is an experimental program that modifies files in-place. Always use version control (git) or back up your markdown files before running INSERT or DELETE operations.
cargo install --path .
# List tables in a file
mdsql tables data.md
# Query first table
mdsql query "SELECT * FROM 0" data.md
# Filter and sort
mdsql query "SELECT name, score FROM 0 WHERE score > 50 ORDER BY score DESC" data.md
# Output as JSON
mdsql query --format json "SELECT * FROM 0" data.md
# Insert a row
mdsql insert "INSERT INTO 0 (name, age, city) VALUES ('Alice', '30', 'NYC')" data.md
# Delete rows
mdsql delete "DELETE FROM 0 WHERE name = 'Alice'" data.md
SELECT with column filtering and *WHERE with =, !=, <, >, <=, >=, AND, ORORDER BY (ASC/DESC)LIMITINSERT INTO ... VALUESDELETE FROM ... WHERETables are referenced by 0-based index: FROM 0, INTO 0, etc.
columns (default) - Column-aligned like df -h, unix-friendlymarkdown - Markdown tablecsv - Comma-separated valuesjson - JSON array of objectstsv - Tab-separated valuesmdsql library crate and mdsql-cli binary crateUPDATE ... SET ... WHERESUM, COUNT, AVG, MIN, MAX)GROUP BY