SELECT ... FROM ...: esta é uma
              leitura consistente, lendo uma cópia do banco de dados e
              não defininfo travas.
            
              SELECT ... FROM ... LOCK IN SHARE MODE:
              atribui travas de chave seguinte compratilhadas em todos
              os regitros de índices que a leitura encontrar.
            
              SELECT ... FROM ... FOR UPDATE: atribui
              travas de chave seguinte exclusivas em todos os registros
              de ínidices que a leitura encontra.
            
              INSERT INTO ... VALUES (...): atribui
              uma trava exclusiva em registros inseridos; note que está
              rava não é uma trava de chave seguinte e não previne
              que outros usuários insiram nas lacunas antes do registro
              inserido. Se um erro de chave duplicada ocorrerm, atribua
              uma trava compartilhada no registro de índice duplicado.
            
              INSERT INTO T SELECT ... FROM S WHERE
              ... atribui uma trava exclusiva em cada linha
              inserida em T. Faz a busca em
              S como uma leitura consistente, mas
              configura travas de chave seguinte compartilhada em
              S se o log do MySQL estiver ligado. O
              InnoDB tem que atribuir travas neste
              último caso porque em recuperações roll-forward de um
              backup, toda instrução SQL tem que ser executada
              exatamente da mesma forma que foi feito originalmente.
            
              CREATE TABLE ... SELECT ... realiza o
              SELECT como uma leitura consistente ou
              com travas compartilhadas, como no item anterior.
            
              REPLACE é feita como uma inserção se
              não houver colisões em uma chave única. De outra forma,
              uma trava de chave seguinte exclusiva é colocada na linha
              que deve ser atualizada.
            
              UPDATE ... SET ... WHERE ...: atribui
              trava de chave seguinte exclusiva em todos os registros
              que a busca encontrar.
            
              DELETE FROM ... WHERE ...:atribui trava
              de chave seguinte exclusiva em todos os registros que a
              busca encontrar.
            
              Se uma restrição FOREIGN KEY é
              definida na tabela. qualquer inserçao, atualização ou
              deleção que exige verificação da condição de
              restrição configura travas de registros compartilhados
              nos registros que que ele olha na verificação da
              restrição. Também no caso onde a restrição falha. o
              InnoDB define estes bloqueios.
            
              LOCK TABLES ... : atribui trava a
              tabela. Na implementação a camada MySQL de código
              atribui este bloqueio. A detecção automatica de
              deadlocks do InnoDB não pode ser feita
              onde tais travas de tabelas estão envolvidas: veja a
              seção seguinte. Também, uma vez que o MySQL sabe sobre
              bloqueio de registros, é impossível que você obtenha um
              bloqueio em uma tabela na qual outro usuário tenha
              bloqueio de registro. Mas isto não coloca a integridade
              da transação em perigo. See
              Secção 7.5.15, “Restrições em Tabelas InnoDB”.
            
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

