I think the ideal solution would be to have multiple tags - eg html-tables, database-tables, etc.
As has been pointed out already, it would be a bit of a nasty job to have to go through all the existing table questions and review them to see which of the new tags they fit under... especially given the large cross-over between the topics - ie a PHP programmer may very easily be asking about either HTML tables, database tables, or even both at the same time.
I would suggest that there's a reasonable number that could be worked out fairly easily just by looking at other tags, so there is some scope for automation. It might be worth doing a batch conversion of those at least, and then seeing how many table questions are still left.
Those remaining questions could then either be dealt with manually, or simply have the table tag removed.
Or they could just left as is. If the table tag can be locked from further use, then it's not going to hurt anyone that there's old questions that are using it. I don't know if that's possible? Maybe if the tag is aliased to one of the new ones? That would mean that some of the old questions are effectively mis-tagged, but that won't be a disaster, and they can be dealt with as necessary.
table
tag is context-sensitive, and would always need to be with other tags.