Specifying location

Hi, I want the visitor of my website to specify her address. Most of the fields are text fileds while for country, state and city I want to provide a drop down menu. I can choose to define 3 tables like this: 1. Country_mstr -- having country code and country name 2. state_mstr -- having country code, state code and state name 3. city_mstr -- having country code, state code, city code and city name

It could turn out to be a tideous job to find such geographical information and populate in the tables. Could anybody suggest me any plugin if it exists?

Thanks, Tyche