From first glance, it would appear I have two basic choices for storing ZIP codes in a database table:
char(5)
Unless you have a business requirement to perform mathematical calculations on ZIP code data, there's no point in using an INT. You're over engineering.
Hope this helps,
Bill