Show HN: Graphical SQL Builder and Debugger

matei881 pts0 comments

GitHub - webofmarius/SQLJoiner: Sql Joiner - Graphical SQL builder and debugger · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

webofmarius

SQLJoiner

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>217 Commits<br>217 Commits

app

app

build

build

docker

docker

docs

docs

electron

electron

scripts

scripts

.gitignore

.gitignore

.htaccess

.htaccess

DIRECTORIES.md

DIRECTORIES.md

LICENSE

LICENSE

README.md

README.md

package.json

package.json

View all files

Repository files navigation

SQL Joiner

A visual SQL query builder for MySQL.

Build SELECT queries by dragging tables onto a canvas, connecting them with joins, and setting conditions — all without writing SQL by hand.

Features

Visual canvas — drag tables from the sidebar onto the canvas, then draw join lines between columns

Join types — INNER, LEFT, RIGHT, FULL OUTER, CROSS

SELECT builder — pick columns visually or switch to raw SQL mode; supports column aliases, DISTINCT, custom expressions, and alpha sort

WHERE / GROUP BY / HAVING / ORDER BY — visual or raw SQL mode for each clause

Subqueries — add a subquery as a named table on the canvas

Import SQL — paste an existing query to reverse-engineer it onto the canvas

Contexts — save and restore canvas states (tables, joins, conditions)

Notes — attach freeform notes to a context

Connection profiles — store multiple MySQL connection profiles; switch between them from the top bar

Query cancellation — cancel a running query mid-execution

Results grid — paginated results with copy-to-clipboard support

Canvas search — find tables, aliases, joins, or island labels

Tech stack

Layer<br>Technology

Desktop shell<br>Electron (optional )

Backend<br>PHP (built-in CLI server)

Frontend<br>Vanilla JS + Canvas API

Requirements

PHP 8+ — required (the only hard dependency)

Node.js + Electron — optional, only needed if you want the desktop app wrapper or to build installers

Packaged app: PHP binary is bundled (Windows & Mac builds include it under php-bin/)

Getting started

Without Electron (PHP only)

The simplest way to run the app — just PHP:

cd app<br>php -S localhost:8080

Then open http://localhost:8080 in your browser.

With Electron (desktop app)

npm install<br>npm start

Building installers

Requires Node.js.

npm run build:mac # macOS DMG<br>npm run build:win # Windows installer (NSIS)<br>npm run build:linux # Linux AppImage

Output goes to dist/.

Project structure

app/<br>src/<br>Core/ Request, Response, ContextManager, AboutManager<br>Database/ Connection (PDO), ProfileManager, SchemaInspector<br>Query/ QueryBuilder, QueryParser, JoinClause, WhereClause,<br>GroupByClause, HavingClause, OrderByClause<br>assets/<br>js/ Canvas, joins, islands, autocomplete, undo/redo, results, profiles, api<br>storage/ Connection profiles and saved contexts (JSON)<br>electron/<br>main.js Electron entry — starts the PHP server, opens the window<br>php-bin/ Bundled PHP binaries (win/, mac/, linux/)

Connection profiles

Profiles are stored in app/storage/profiles.json. Each profile holds host, port, database, user, and password. Manage them via Profiles in the top bar.

About

Sql Joiner - Graphical SQL builder and debugger

Resources

Readme

License

GPL-3.0 license

Uh oh!

There was an error while loading. Please reload this page.

Activity

Stars

star

Watchers

watching

Forks

forks

Report repository

Releases

SQL Joiner 1.13.10 - Desktop version (with Electron)

Latest

Apr 8, 2026

Packages

Uh oh!

There was an error while loading. Please reload this page.

Contributors

Uh oh!

There was an error while loading. Please reload this page.

Languages

JavaScript<br>76.1%

CSS<br>12.3%

PHP<br>11.3%

Other<br>0.3%

You can’t perform that action at this time.

electron canvas profiles build search query

Related Articles