>We are on a subscription with the Post Office. They send us updates every quarter. Their file format is kind'uv tricky and if you want a unique listing of zipcodes it's even trickier but I use it. There are ~43000 unique zip codes in the US so your table is not unique but that probably doesn't matter.
We have couple of subscriptions, but usually we're interested in NE states info only. This should be a general lookup for checking State+City+Zip combination for validity.
If it's not broken, fix it until it is.
My Blog