Does that mean I can just use the normal queries
Of course you can use normal queries.
What does 'AutoCommit => 0' mean
If you specify
AutoCommit => 0 in your database connection statement, it will tell the database that you want to do
transactions. Why it's needed? Because I saw you mentioned that you had multiple tables that you wanted to update. Transactions are best used to preserve the integrity of your data, because the results will only be visible to others after you 'COMMIT' your transaction, in other words, other sessions will
not see incomplete/half-updated data.
why do you have two '$dbh->do{...};' statements
The first one is just an example. The second one is required, because it does the 'COMMIT' to end the transaction.
Update: I guess it would be useful to list this
link here, an Overview on MySQL Transaction.