GalaXQL - Interactive SQL tutorial

Who said SQL tutorials have to be boring?

Try out GalaXQL 3.0 beta!

Runs on your browser. Note: heavy javascript and webgl. Needs a modern browser.

Quotes / Testimonials

"Incidentally, we've trained several students to be web developers using only your tutorial for SQL instruction--great work!"

-- Dr Christopher Pound, Rice University

"I have been looking for a good way to show SQL to analysts who need to learn it and this by far the best tool I have ever come across." "It's useful and fun and cool in an ultimately geeky way - an absolute treasure."

-- Julie LeMay, DELL

"Noodling with GalaXQL is the most fun database tutorial I've ever seen. It's way more fun to change the shape of a spinning galalxy than to do some exercise that spits out tables of which students are taking three or more courses with the same professor. It's also a good demonstration of the sort of interesting app you can write with open source tools like wxWidgets and SQLite."

-- Joey deVilla at Tucows' "the farm"

"Much more entertaining and freeform than ordinary attempts at tutorials, certainly exciting!"

-- Thomas Van Der Pol

"I've just completed your tutorial and was very impressed! It's a very practical example of the power of a database - something I had hitherto not really twigged. I shall recommend it to all of my friends."

-- Stephed Bridges

"[GalaXQL] rocks! It helps you learn SQL in the context of manipulating a galaxy and then shows you the results. I've been playing around with it for a couple of hours and I've learned SQL in no time! There are versions available for Windows, OS X, and Linux. Try it out."

-- Reuben Grinberg in his blog

GalaXQL is an interactive SQL tutorial.

GalaXQL 1.0 Virtual teacher (win32)

GalaXQL 1.0 Virtual teacher (mac os x)

Follow the instructions by your virtual teacher. The teacher can understand several possible mistakes that you may make, and gives hints on what may have gone wrong. You can skip to any chapter in the tutorial whenever you want.

GalaXQL 1.0 Query editor (win32)

GalaXQL 1.0 Query editor (mac os x)

Use the query editor to interact with the database, and to complete the assignments given by the virtual teacher. In case of syntax errors, SQLite (the database engine used in GalaXQL) returns helpful, human-readable error messages.

GalaXQL 1.0 Reference tab (win32)

GalaXQL 1.0 Reference tab (mac os x)

If you need more information, you can look things up in the integrated reference.

Somewhat altered galaxy

Oh, and the OpenGL-rendered galaxy map is not there just for show; you can alter the galaxy using SQL.

GalaXQL 2.0 (win32)

Table of Contents:

  • Welcome..
  • SELECT ..
  • SELECT .. FROM ..
  • SELECT .. FROM .. WHERE .. ORDER BY .. DESC
  • MAX(), MIN(), COUNT(), AVG(), SUM(), NULL
  • INSERT INTO .. VALUES ..
  • INSERT INTO .. SELECT ..
  • Transactions, DELETE FROM .. WHERE ..
  • UPDATE .. SET .. WHERE ..
  • SELECT FROM table1, table2.., DISTINCT
  • SELECT .. FROM (SELECT .. FROM ..)
  • SELECT FROM .. JOIN ..
  • CREATE VIEW, DROP VIEW
  • CREATE TABLE, DROP TABLE
  • Constraints
  • ALTER TABLE
  • SELECT .. GROUP BY .. HAVING ..
  • UNION, UNION ALL, INTERSECT, EXCEPT
  • Triggers
  • Indexes

GalaXQL is based on the SQLite database engine. 1.0 and 2.0 were written with wxWidgets for multi-platform capabilities, which is kind of ironic because wxWidgets seems to be the reason people can't build new versions for osx and linux.

Older builds:

GalaXQL 2.1 project on SourceForge (not maintained by me).

GalaXQL 2.0 32-bit Windows (Win2k, XP, Vista, Win7)

GalaXQL 2.0 Mac OS X (PPC/Intel Universal)

GalaXQL 2.0 Sources, with linux makefile, released under BSD-like license

GalaXQL 1.0 32-bit Windows (Win2k, XP)

GalaXQL 1.0 Mac OS X (PPC G4)

GalaXQL 1.0 C/C++ Source (without data file; download windows zip as well)

NOTE: When launched for the first time, GalaXQL first generates the database. This may take some time, so please be patient.

Note for mac users - apparently something has changed in the last few mac os updates, and the universal build for intel is broken. You can still use the 2.0 version by forcing it to run under rosetta. Sorry for the inconvenience. (And yeah, I'd love a mac mini if someone wants to give me one).

Version 2.0 introduces better layout, new rendering mode for lower-end computers, optional rendering of the 3d coordinate axes, updated SQLite database engine with CHECK constraints, and various little fixes and rephrasings.

Version 2.0 sources should compile fine for both ansi and unicode builds, so GalaXQL should compile under ubuntu now (given that all neccessary development packages are installed, of course). The source package also contains the required data file.

Any comments etc. can be emailed to me.