PilotSQL - SQL on the PalmOS Platform

What is PilotSQL?

PilotSQL is the first and only SQL (Structured Query Language) database for the PalmOS. It can be used for educational purposes and for general data storage. In writing PilotSQL, I first acquired a public domain implementation named SQLite (www.sqlite.org). This port to the PalmOS is a very significant achievement.


It is purely experimental at this point, and might even crash on occasion. I think that with even more effort, a PilotSQL shared library could be developed and distributed. Perhaps as freely and commonly as Mathlib and others.

Developers could finally have a high level database engine, and have the ability to put together front-end applications with ease, perhaps even eventually presenting a significant threat to the major Palm Database applications and ridiculous runtimes available today.

What does it do?

PilotSQL is a lightweight front end sitting on top of the ported database engine. As a proof of concept and generic example, PilotSQL provides functionality similar to the query programs that are part of commercial SQL packages. In other words, you create and open a database, and type your SQL statements into a field. Hit the execute button, and view the results.

What documentations is available?

PilotSQL does not carry any on-board documentation regarding SQL or the SQL features supported by PilotSQL, but that information is available from the SQLite website at http://www.sqlite.org/lang.html

Example - Once a database is created and opened from the upper-right dropdown, you can execute SQL statements such as the following, to create and query a very simple database:


create table MyCDs ( Artist varchar(60), Title varchar(128) );
insert into MyCDs values ('Mahogany Rush', 'Tales of the unexpected');
insert into MyCDs values ('Meatloaf', 'Bat out of hell');
insert into MyCDs values ('Robin Trower', 'Anthology');
insert into MyCDs values ('UFO', 'Strangers in the night');
insert into MyCDs values ('Pat Travers', 'Go for what you know');
insert into MyCDs values ('The Who', 'Live at Leads');
insert into MyCDs values ('Stevie Ray Vaughn', 'Texas Flood');
insert into MyCDs values ('The Guess Who', 'The Ultimate Collection');
insert into MyCDs values ('Steppenwolf', 'All Time Greatest Hits');
select * from MyCDs order by Artist;

Here we see the PilotSQL screen. The user has selected the aSample database, and entered a select statement (records entered previously). As you can see, the results are listed in a table below. The History drop-down keeps track of successful statements so you can repeast them, and two black buttons correspond to Execute (executes the statement) and Clear (clears the field of any text


User comments


Milos Wikarski
We need more! Please do not cancel developing of this great SQLite porting. If it would be possible to share database created on the PC version of the SQLite, plus save somehow SQL commands used on the handheld, it would be big competitor of the giant players, e.g. Sybase Ultra-Lite.

M Martin
Excelent! I've been using Pilot-DB for quite a while, but I much prefer good old SQL. Very glad I found this. It may not be a complete SQL implementation, but neither is MySQL or PostgreSQL, and how much do you really need on a pda? 5 stars worth is already here..

Thammarit Thapbumrung
It's a good program to practise your sql. Thanks for creating a good program for everyone.

Deprecated: Function ereg() is deprecated in /var/www/html/scott/sql/menusql.php on line 6

Deprecated: Function ereg() is deprecated in /var/www/html/scott/sql/menusql.php on line 13

Warning: include(menu.php) [function.include]: failed to open stream: No such file or directory in /var/www/html/scott/sql/menusql.php on line 22

Warning: include() [function.include]: Failed opening 'menu.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/scott/sql/menusql.php on line 22
PilotSQL Menu

Download PilotSQL

  Copyright(c)2005, by Scott Hares, All Rights Reserved.