Explore your CSV
data using SQL
Upload a CSV and start querying it straight away. Works with the database tool you already use.
Nothing to install, and your data is deleted automatically after 24 hours.
Excel files work too.
$ psql "postgres://nl8CmNXkdthg@csv2db.com:5432" psql (18.6, server 15.0) Type "help" for help. nl8CmNXkdthg=> \dt List of tables Schema | Name | Type | Owner --------+----------+-------+-------- public | orders | table | csv2db public | products | table | csv2db (2 rows) nl8CmNXkdthg=> SELECT category, COUNT(*), ROUND(AVG(price),2) FROM products GROUP BY category; category | COUNT(*) | ROUND(AVG(price),2) ----------+----------+--------------------- tools | 2 | 14.75 toys | 2 | 8.63 (2 rows) nl8CmNXkdthg=>
$ sqlcmd -S csv2db.com,1433 -U nl8CmNXkdthg -P nl8CmNXkdthg 1> SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES; 2> GO TABLE_NAME ------------------------------ orders products (2 rows affected) 1> SELECT category, COUNT(*) AS n, ROUND(AVG(price),2) AS avg 2> FROM products GROUP BY category; 3> GO category n avg ---------- ---- ------- tools 2 14.75 toys 2 8.63 (2 rows affected) 1>
Need bigger files or longer expiry?
These rise on a paid plan. An account keeps the databases you make in one list, with a key for uploading from a script.
Sending your file…
Upload failed
Your database is ready
—Anyone with this string can read, change and delete your data. There is no way to take it back, so if it gets out, delete the database and upload again.
| Table | Rows | Columns |
|---|
how it works
What happens when you upload
Each file becomes a table, named after the file. Upload several at once and you can query across them in one connection.
Columns get the right type
Each column takes its type from the values it contains: whole number, decimal, or text.
Nothing gets mangled
A code like 00412 stays text instead of turning into the number 412, so postcodes, product codes and phone numbers arrive exactly as you sent them.
Share it read-only
Tick read-only before you upload and the database accepts SELECT and nothing else, so you can hand the connection string to anyone without worrying about the data.
Change your mind later
Put the original file back, give it more time, or delete it before the timer runs out.
in practice
Three things it is good for
All three are the same upload. What changes is who gets the connection string, and whether they can write to it.
Teaching SQL
Upload the dataset once and give each person their own read-only copy. Everyone starts from the same data, nobody can change it for anybody else, and the whole set expires on its own.
Handing data to someone else
They already have DBeaver or Metabase open. Send the connection string instead of the file and they can query it straight away, with nothing to install and no account to make.
Checking an export before you trust it
Count the rows, look for the gaps, and find out whether the file is what you were told it was. When you are done, there is nothing to delete.
supported tools
Works with your Postgres or SQL Server client
csv2db speaks both wire protocols itself — Postgres, and SQL Server's TDS. Point your tool at the matching connection string and it connects, with nothing to install.
Postgres
SQL Server (TDS)