Well, the column definitions are in the pref backup, and restoring with that *should* restore the columns. Simply copy the backup prefs in place and rerun the restore.
(Alternatively, you can recreate the columns from memory -- they might match. Or analyze the metadata.opf stored definitions, though that is kinda complicated.)
But the per-book
values are of course in the individual metadata.opf files -- and it depends whether calibre has rewritten those based on the current database yet.
calibre writes a backup of the current metadata whenever a book record changes -- which is good, unless the current metadata is wrong and the backup is right!
A restore *shouldn't* touch the metadata.opf backups, IIRC.
Opening calibre after the restore and modifying a book record
will, at least for that book record.
So if I were restoring my books, I would back them up first, until I knew everything was in order.
This is important -- don't allow any of the pieces you currently have to become destroyed, until you
know you don't need it anymore!
You might need to play around with the columns to match what the metadata.opf thinks should be there, but in theory the data you want is not quite gone yet and can still be recovered.