Well, this is a single replacement reaction, and if you look at it this way, the magnesium is what is moving because it is now in the compound, leaving hydrogen on its own (in it's diatomic form). This is because magnesium is higher than hydrogen on what is called the activity series chart. Because magnesium is a reactive metal, it will easily form an oxide, like many other metals, including iron, for example (rust is iron oxide! :D). there are certain metals that will react more intensely, like sodium or lithium, and there are others that don't react at all, like platinum or gold, and it all depends on where they are on the activity series.