MySQL Consulta UPDATE com exemplo

โšก Resumo Inteligente

MySQL A consulta UPDATE modifica linhas existentes em uma tabela, alterando um ou vรกrios campos em uma รบnica instruรงรฃo. Este recurso explica a sintaxe do UPDATE, a filtragem WHERE, exemplos prรกticos na tabela members e as medidas de seguranรงa que impedem atualizaรงรตes em massa nรฃo intencionais.

  • โœ๏ธ Declaraรงรฃo fundamental: UPDATE `table_name` SET `column_name` = 'new_value' [WHERE condition] reescreve os valores em cada linha que corresponde ao filtro.
  • โš ๏ธ Omitido ONDE: Sem uma clรกusula WHERE, a instruรงรฃo UPDATE sobrescreve a coluna em todas as linhas da tabela.
  • ๐Ÿ”ข Formataรงรฃo de valores: Valores de texto e datas exigem aspas simples, valores numรฉricos nรฃo, e datas seguem o formato 'AAAA-MM-DD'.
  • ๐Ÿงฉ Vรกrias colunas: Separe cada atribuiรงรฃo com uma vรญrgula para atualizar vรกrios campos em uma รบnica instruรงรฃo.
  • ๐Ÿ” Etapa de verificaรงรฃo: Execute a clรกusula WHERE como uma instruรงรฃo SELECT primeiro e, em seguida, repita-a apรณs o UPDATE para confirmar os novos valores.
  • ๐Ÿ›ก๏ธ Modo de atualizaรงรฃo segura: MySQL O Workbench rejeita qualquer atualizaรงรฃo (UPDATE) cuja clรกusula WHERE nรฃo filtre por uma coluna chave.

O que รฉ a consulta UPDATE?

O ATUALIZAร‡รƒO MySQL O comando UPDATE รฉ usado para modificar linhas em uma tabela. A consulta UPDATE pode alterar um รบnico campo ou vรกrios campos simultaneamente. Tambรฉm pode ser usada para atualizar um registro. MySQL Tabela com valores retirados de outra tabela.

Por que usar a consulta UPDATE em MySQL?

Os dados raramente permanecem corretos para sempre. Os membros mudam de nรบmero de telefone, os preรงos mudam e os pedidos passam de pendentes para enviados. Excluir a linha antiga e inserir uma substituta quebraria a chave primรกria e quaisquer referรชncias de chave estrangeira. A instruรงรฃo UPDATE edita a linha no local, de modo que a identidade e os relacionamentos permanecem apรณs a alteraรงรฃo.

A consulta UPDATE รฉ a ferramenta certa sempre que:

  • O valor estรก incorreto ou desatualizado: Corrija um nome com erro ortogrรกfico ou atualize um nรบmero de contato sem alterar o restante do registro.
  • O status deve avanรงar: Altere o status de um pedido de "pendente" para "enviado" reescrevendo uma รบnica coluna.
  • Diversos campos mudam simultaneamente: Uma รบnica instruรงรฃo pode definir um novo nome e um novo endereรงo na mesma passagem.
  • ร‰ necessรกria uma correรงรฃo em massa: Uma clรกusula WHERE que corresponde a vรกrias linhas aplica a mesma ediรงรฃo a todas elas simultaneamente.

Como um comando UPDATE sem uma clรกusula WHERE sobrescreve todas as linhas, o filtro separa uma correรงรฃo de rotina de uma sobrescrita acidental.

MySQL Atualizar sintaxe de comando

Com o objetivo definido, o prรณximo passo รฉ a sintaxe. A forma bรกsica da consulta UPDATE em MySQL รฉ mostrado abaixo.

UPDATE `table_name` SET `column_name` = 'new_value' [WHERE condition];

AQUI:

  • ATUALIZAR `nome_da_tabela` รฉ o comando que diz MySQL Modificar os dados em uma tabela.
  • DEFINA `nome_da_coluna` = 'novo_valor' Fornece os nomes e valores dos campos que serรฃo afetados pela consulta UPDATE. Ao definir os valores, os tipos de dados de string devem estar entre aspas simples. Os valores numรฉricos nรฃo precisam de aspas. Os valores de data devem estar entre aspas simples e no formato 'AAAA-MM-DD'.
  • [ONDE condiรงรฃo] ร‰ opcional e pode ser usado para aplicar um filtro que restringe o nรบmero de linhas afetadas pela consulta UPDATE. A lista completa de opรงรตes aparece em MySQL Manual de instruรงรตes de atualizaรงรฃo.

Vejamos agora um exemplo prรกtico que atualiza dados na tabela de membros.

Atualizar em MySQL Exemplo

Suponha que os membros com nรบmeros de matrรญcula 1 e 2 tenham as seguintes atualizaรงรตes a serem feitas em seus registros.

Nรบmero de membro Atualizaรงรตes necessรกrias
1 Alterar o nรบmero de contato de 999 para 0759 253 532
2 Alterar o nome para Janet Smith Jones e atualizar o endereรงo fรญsico para Melrose 123.

Atualizar uma รบnica coluna

Comeรงamos com o nรบmero de membro 1. Antes de fazer qualquer alteraรงรฃo, vamos recuperar esse registro.

SELECT * FROM `members` WHERE `membership_number` = 1;

A execuรงรฃo do script acima nos dรก os seguintes resultados.

nรบmero de membro nomes completos gรชnero data_de_nascimento endereรงo fรญsico endereรงo_postal nรบmero_de_contato E-mail
1 Janet Jones Feminino 21-07-1980 Lote da Primeira Rua nยบ 4 Mala Privada 999 janetjones@yagoo.cm

Vamos agora atualizar o nรบmero do contato usando o script mostrado abaixo.

UPDATE `members` SET `contact_number` = '0759 253 532' WHERE `membership_number` = 1;

A execuรงรฃo do script acima altera o nรบmero de contato de 999 para 0759 253 532 para o membro nรบmero 1. Executar o SELECT novamente confirma o novo valor.

nรบmero de membro nomes completos gรชnero data_de_nascimento endereรงo fรญsico endereรงo_postal nรบmero_de_contato E-mail
1 Janet Jones Feminino 21-07-1980 Lote da Primeira Rua nยบ 4 Mala Privada 0759 253 532 janetjones@yagoo.cm

Atualizar vรกrias colunas

O nรบmero de inscriรงรฃo 2 requer a alteraรงรฃo de dois campos simultaneamente. Este รฉ o registro antes da atualizaรงรฃo.

nรบmero de membro nomes completos gรชnero data_de_nascimento endereรงo fรญsico endereรงo_postal nรบmero_de_contato E-mail
2 SmithJones Feminino 23-06-1980 Park Street NULL NULL jj@fstreet.com

O script a seguir atualiza ambas as colunas em uma รบnica instruรงรฃo. Observe a vรญrgula que separa as duas atribuiรงรตes.

UPDATE `members` SET `full_names` = 'Janet Smith Jones', `physical_address` = 'Melrose 123' WHERE `membership_number` = 2;

A execuรงรฃo do script acima atualiza o nome completo do membro nรบmero 2 para Janet Smith Jones e o endereรงo fรญsico para Melrose 123.

nรบmero de membro nomes completos gรชnero data_de_nascimento endereรงo fรญsico endereรงo_postal nรบmero_de_contato E-mail
2 Janete Smith Jones Feminino 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com

๐Ÿ’ก Dica: O "Clรกusula WHEREร‰ isso que limita o nรบmero de linhas afetadas pela consulta UPDATE. Se vocรช omitir esse parรขmetro, todas as linhas da tabela serรฃo reescritas.

Perguntas Frequentes

MySQL Retorna uma contagem de "Linhas correspondentes" e uma contagem de "Linhas alteradas". "Linhas correspondentes" mostra quantas linhas a clรกusula WHERE selecionou, enquanto "Linhas alteradas" exclui as linhas cujo novo valor era idรชntico ao anterior.

Sim. Combine UPDATE com um Cadastre-se e faรงa referรชncia ร  segunda tabela na clรกusula SET. A condiรงรฃo de junรงรฃo decide qual linha de origem fornece o novo valor para cada linha de destino.

Envolva a operaรงรฃo em uma transaรงรฃo. O comando START TRANSACTION seguido de ROLLBACK restaura os valores antigos. Uma vez que a alteraรงรฃo รฉ confirmada, somente um backup pode recuperar os dados anteriores; portanto, teste a clรกusula WHERE com SELECT primeiro.

Sim. Os assistentes de IA convertem uma alteraรงรฃo descrita em sintaxe UPDATE e sugerem a clรกusula WHERE. Forneรงa ao modelo a estrutura da sua tabela e, em seguida, verifique o filtro com uma instruรงรฃo SELECT antes de executar a consulta gerada.

Um modelo de IA nรฃo consegue ver suas linhas de dados em tempo real, portanto, uma clรกusula WHERE ligeiramente incorreta pode reescrever milhares de registros silenciosamente. RevVisualize cada instruรงรฃo gerada, execute-a em uma cรณpia de teste e mantenha um backup atualizado.

Resuma esta postagem com: