tinySQL Studio (studio)

April 24, 2026 · View on GitHub

A native desktop GUI for tinySQL built with Wails. It provides a dark-themed native window where you can write and run SQL queries, import CSV/JSON files, browse the schema, and export results — all backed by an embedded in-memory tinySQL database.

Prerequisites

  • Go 1.25+
  • Wails v2 CLI:
    go install github.com/wailsapp/wails/v2/cmd/wails@latest
    
  • Platform build dependencies for your OS (see the Wails requirements)

Build

cd cmd/studio
wails build

The compiled binary is placed in cmd/studio/build/bin/.

Development mode (hot-reload)

cd cmd/studio
wails dev

Opens the application with live-reload on every Go source change.

Features

FeatureDescription
SQL editorMulti-line editor with keyboard shortcut execution
Result tablePaginated result grid with column widths
Schema browserList tables and inspect column definitions
File importDrag-and-drop or browse for CSV, TSV, JSON, and SQL files
Fuzzy importTolerant parsing for malformed CSV/JSON (auto-detects delimiter, infers types)
Database save/loadPersist the in-memory database to a .gob snapshot and reload it later
CSV exportExport any table to a CSV file via native save dialog

Keyboard shortcuts

ShortcutAction
Ctrl+Enter / Cmd+EnterExecute the current query
Ctrl+Shift+EnterExecute all statements

Architecture

The Go backend (app.go) uses the tinySQL database/sql driver for query execution and the native tinySQL API (tinysql.FuzzyImportCSV, tinysql.FuzzyImportJSON) for file imports. The Wails runtime bridges Go methods to JavaScript, which drives a vanilla-JS frontend in frontend/.