I use the downloadable Geonames database for all countries, states, counties and cities in the world, but I wonder if there is a database for streets?
So you could pick: country -> state/department/district -> (county/region) -> city -> street in whatever country you like.
Because when I do a search for a street in Google Maps I can see all the upper levels (country/region/city). Is there a database you could download for MySQL for this?
There has to be a database for this, cause there are always national companies that provide this kind of information. Where did they get it from?
Have you checked out OpenStreetMap? It is free and has a export screen that lets you download the data in XML and other formats.
Those concerned with the accruacy of the OpenStreetMap data may want to read what ITO has to say about OpenStreetMap’s data for Haiti.
If you have 5 minutes you may want to watch this TED video by Tim Berners-Lee talking about what is being done with OpenStreetMap data.