– In città is an idiomatic locution meaning “in town” or “in the city.”
– Nella città (in + la città) would mean “inside the city proper,” often contrasting with suburbs or countryside.
– You cannot say a città because a + common noun takes an article (→ alla città), but that form is unusual here.
– Visitare + direct object works well for places (museums, scuole, città).
– Fare visita a + indirect object is more common when visiting people: fare visita a un amico.
You could technically say Il sindaco fa visita a una scuola, but it sounds more formal and less idiomatic for places.