A very busy day I've had. Started on Pat, my little database module, and I've made two releases already. It can now generate table creation queries, can select individual column names, define tables by subclasses Table, do updates and more. It still has some major limitations, like it only can match columns by equality.
The next release should move from the keyword interface to passing things like UserTable.username=="Bob" or CustomerTbl.customerForYears>10. It will also support deletion of rows (which I just forgot for this one, oops) and default column values and specified text lengths.
As it is, it should prove useful. It can already do enough for my current purposes. Hopefully, someone else will find it useful. Let me know if you do. If not, let me know why!
Pat 0.2 Release at the Cheeseshop