Best way to learn English grammar is to learn how to read a foreign language, preferably Latin or Greek. When you are forced to translate one language into another you learn the mechanics of English more effectively than studying an English grammar book.