Will my query pick up where it stopped due to connection timeout?
MySQL is an ACID database. A in this term stands for Atomicity. This basically mean:


  Atomicity requires that each transaction is "all or nothing": if one part of the transaction fails, the entire transaction fails, and the database state is left unchanged. An atomic system must guarantee atomicity in each and every situation, including power failures, errors, and crashes. To the outside world, a committed transaction appears (by its effects on the database) to be indivisible ("atomic"), and an aborted transaction does not happen.


So, you should not worry at all. If your transaction timed out nothing will be written to database. Re-run your transaction