Если вы используете InnoDB, ответ на ваш первый вопрос, как правило, положительный, то есть ответ на ваш второй, как правило, нет.
По умолчанию InnoDB в MySQL использует метод, называемый согласованные неблокирующие чтения :
Запрос видит изменения, сделанные
транзакции, совершенные ранее
этот момент времени, и никаких изменений
сделано позже или не совершено
сделки. Исключение из этого
Правило состоит в том, что запрос видит
изменения, сделанные предыдущими заявлениями
в рамках той же транзакции.
При этом, есть много вещей, которые нужно знать о транзакциях. Вы можете изменить уровень изоляции транзакции , чтобы более тщательно контролировать результаты транзакции.
Глава о Модель транзакций InnoDB - отличное место для начала.