trueDAT is a MySQL database GUI designed to be lightweight, easy to use, extremely handy, and just plain good looking.
Not a full-fledged database administration tool, but rather meant for work with a single database powering a single application.
Expand the joy of working with databases.
Seriously, trueDAT4.php is all you need. Images, CSS, and JavaScript can all be pulled from somewhere else: either the public stash hosted here at truedat.us, or at a URL of your own.
Database connection parameters and how you would like to trueDAT to authenticate users are pretty much it.
trueDAT will even detect connection parameters from config files of popular software like WordPress and Drupal if you tell it to.
The install process generates a file called trueDAT4Config.php
, making the total install footprint just 2 files.
The sort of database access afforded by trueDAT is of course super sensitive, so security is key. Set a username/password combo, make access conditional on the value of some session variable (great for integrating with the authentication scheme of a host application), or have trueDAT reach out to some other system (via HTTP POST) for authentication based on provided credentials.
Pick a table from the drop down, and hit a button like "Schema", "All" or "Top".
When trueDAT detects your rows have a primary key in the first column, Edit mode become available. In Edit mode you can click on a cell and edit the field directly in a pop up window. Bits can be flipped with a single click.
While in edit mode, clicking on the primary key value enables you to delete the record.
Click "Add New" and a new row of inputs appears: type in values and hit "Add Record". Sure beats typing an INSERT statement.
trueDAT will detect numbers, booleans, and dates and interpret them accordingly for sorting purposes. All done in-browser, no need to hit the server again.
SELECT * is a great shortcut, but sometimes it makes for really wide, hard-to-review tables. Get the best of both worlds by telling trueDAT which columns you want to suppress display of.
As you type, trueDAT will inline-suggest matching table and column names which are in the database. Remembering between first_name and firstName just got less important. The related config setting allows you to tone it down if you prefer (e.g. table names only, or disable altogether).
Any SQL query that returns records can be output as a CSV file and downloaded for use elsewhere. Great for passing off data requested by less tech-savvy folks.
Can't be bothered to remember the exact syntax for certain operations? Neither can I. Load up an example query from the cheat sheet and be on your way.
With the click of a button, make your SQL pretty. Great for pasting in queries from elsewhere to make them more legible.
Large, elaborate queries often serve as handy reports or useful operations, both useful again and again. Craft 'em once, and save 'em for later.
Super useful when trying to navigate an unfamiliar database. Will also generate find-and-replace queries.
Generate and execute queries parameterized by CSV input data, one query per row.
Sidestep the need for shell access with a quick-and-dirty way of porting data from one database to another of matching table structure.
Double-click on a cell that trueDAT knows to be a foreign key into another table, and trueDAT will load that corresponding record for you instantly. Presently the lookup of foreign keys takes up to a minute, and doesn't get them in all cases, so this feature is disabled by default. Enable it by editing your generated trueDAT4Config.php file, the option enableForeignKeySurfing.
trueDAT currently supports MySQL, but the architecture is near ready for connecting with MSSQL and PostgreSQL. (Though to be fair I don't actually know that anyone would care about a PHP interface for MSSQL!)
John Larson here.
trueDAT has been my home brew tool of choice for doing my database work for a good, long while now. I wrote trueDAT2 in 2005, trueDAT3 in 2008, and just finished trueDAT4 here in 2012. I figured it might make the world a slightly better place to share the darn thing already. You can learn more about me and my projects at JPL Consulting and my blog, Programmer for Hire.
The pretty pixels for trueDAT were lovingly crafted by Lee Robinson, one of my peeps from Playground Creative. She didn't know it at the time, but when she was designing this she was creating a zen garden of a workplace for me that I would be enjoying almost daily for over three years and counting.
These guys are a developer's best friend for making web apps look GOOD.
A big shout out and acknowlegement to Charles Guthrie, the creator of the original trueDAT back in 2003 in Classic ASP. You gave this thing a catchy name, Charles, thanks for letting me run with it.
trueDAT's frontend sexiness was built with MooTools. My heartfelt thanks to who I consider to be the real studs of MooTools, whose brilliance and contributions have enabled me to grow so much in my web programming prowess. Aaron Newton especially with his fantastic Mootorial, as well as Valario Proietti, Harald Kirschner, David Walsh, and many others. I don't know any of 'em personally, but have learned a ton by trolling their blogs, absorbing their teachings, and employing their code.
They are my heroes in this craft that we share.
It is my sincere hope that trueDAT is super intuitive and requires no explanation, but there are a few little nuggets built into the interface which you would only know by trolling through the code:
Would love to hear any feedback you have in your use of trueDAT, just drop me a line at john@jpl-consulting.com.
To read my riff about a little more about the history of trueDAT, the decision to open source it, and open sourcing in general, go check out the blog post here and join the conversation by leaving a comment.
If you have any issues or bugs to report, please add them to the GitHub issues page. I can't promise regular support, but since this is a tool I'll be using all the time myself, your catches will probably be quite helpful.
Cheers!
John Larson