Which database are you using? The queries to get table meta-data are largely database-dependant, so Class::DBI tries to avoid them. There is
Class::DBI::mysql which does exactly what you want, though, if you're using MySQL. (See the
set_up_table method.)
I think there are similar modules for other databases.