One of the main keys in visiting a foreign country is to be exposed to and experience a complete total culture the opposite of yours. When you're there, try different foods, different drinks, anything different from you in general. Don't be a typical closeminded Gringo and carry the bigot american attitude, I'm better than you because you're not american and you must cater to me since you're a foreigner to me. When you visit a foreign country, take the time to atleast a few phrases or words to make an attempt to immerse yourself into the culture. 90% of Mexicans in Mexico will respect you 100 times more when they see you're trying to make an effort and an attempt to show some type of interest in there culture and watch their attitude. They treat you way more different than if you were a typical "speak my english language in YOUR country or die" Gringo. The other thing is that, they respect you so much more and feel more comfortable around you. It's like in the good ol' US when we have tourists that can't speak a lick english. It's annoying and you're thinking, what the hell is he or she is saying? And that is what it is like to the people of Mexico when you try to automatically americanize your attitude and colonize your language to them in their own country. Look 99% of the world hate Americans and our country with a passion and with all of this political crap going on. Show some interest into their culture and watch how they treat much much better and with respect. The whole purpose of visiting a foreign country is to be exposed to a different culture and language. If you want to hear English only, then stay back in the US and take a trip to a state. Remember we're are referred as THE UGLY AMERICANS internationally by the entire world.
Speaking Spanish is not a prerequisite, but understanding how much things cost certainly is. Brush up on your ability to convert your money into Mexican Peso's. Its a good skill to have when you are about to spend a large denomination bill for something inexpensive and expect to receive change back. Your clerk, attendant or server may try to keep it as a 'small' tip.