O comando UPDATE

O comando UPDATE é usado para atualizar registros existentes em uma tabela.

Sintaxe
   1:UPDATE nome_tabela
2:SET coluna1=valor1, coluna2=valor2, ...
3:WHERE nome_coluna = valor
Nota: Perceba a cláusula WHERE na sintaxe do UPDATE. A cláusula WHERE especifica que registro ou registros devem ser atualizados. Se você não tiver uma cláusula WHERE, TODOS OS REGISTROS serão atualizados!

Para que o PHP execute este comando nós devemos usar a função mysql_query(). Esta função é usada para enviar uma pesquisa ou comando para uma conexão MySQL.

Exemplo

Nos posts anteriores nós criamos uma tabela chamada 'pessoas'. Aqui esta como ela se parece.

NomeNome completoIdade
PedroPedro Griffin35
EduardoEduardo Quagmire33

O exemplo seguinte atualiza alguns dados na tabela 'pessoas':
   1:<?php
2:$con = mysql_connect('localhost', 'banco', 'abc123') or
3: die('Não foi possível conectar');
4:
5:mysql_select_db("my_db", $con);
6:
7:mysql_query("UPDATE pessoas SET idade = '36' WHERE nome = 'Pedro'");
8:mysql_close($con);
9:?>
Depois da atualização, a tabela 'pessoas' estará como vemos abaixo:

NomeNome completoIdade
PedroPedro Griffin36
EduardoEduardo Quagmire33


Fonte

20 comentários:

  1. Respostas
    1. ($con) nada mais é do que conexão. Por exemplo:
      $con (conexão) é igual à mysql_connect (conexão com meu sql) com os dados do ('localhost', 'banco', 'abc123') (servidor, nome do banco de dados e senha do SQL). or die (se não funcionar, exiba o erro) ("Não foi possível conectar")

      Excluir
  2. E ai Erasmo? É o seguinte, $con é a variavel que guarda o valor de retorno da função mysql_connect. Este valor é uma referencia para a conexão com o MySQL, e é usado em todas as operações com o banco de dados.

    ResponderExcluir
  3. para bens pelo seu site cara isso sim sem rodeio sem lelo lelo muito bom

    ResponderExcluir
  4. Por exemplo , eu tenho que editar com um formulario como faço ? para colocar as variaveis ?

    ResponderExcluir
    Respostas
    1. Neste caso, você deve usar os campos do formulário (exemplo em http://phpsqlbr.blogspot.com/2009/04/formularios-e-entradas-do-usuario-no.html) e substituir nos valores que serão incluidos.
      É importante que antes de incluir os dados em um banco de dados que são de origem de um formulário, haja um tipo de verificação e checagem dos dados para impedir a entrada de dados inconsistentes.

      Excluir
  5. Tô querendo uma função que pegue um resultado de uma tabela mostrando 4 colunas, e que dê pra mim modificar a uma linha dessa consulta. Mim Ajudem ai

    ResponderExcluir
    Respostas
    1. Lucas, você tem que definir o formato de interação e usar o HTML e o PHP, e talvez javascript para fazer o que você está querendo.

      Excluir
  6. Sim, mas como faço isso? de uma olhadinha la no meu site, www.estagio.pusku.com
    na parte de ver HORARIO

    ResponderExcluir
  7. blz Estou com um site de bate papo mas as mensagens demoram aparecer quando alguém tecla do outro lado demora muito a aparecer o que pode ser?
    o site é esse
    http://santos-dumont.weblojasonline.com.br/

    ResponderExcluir
  8. Oi, legal. Você sabe de uma sintaxe ou código de como usar o comando UPDATE em uma Macro do Access para atualizar arquivos do Excel?

    ResponderExcluir
    Respostas
    1. Voce pode registrar o arquivo Excel como um banco de dados ODBC e provavelmente se conectar com ele a partir da sua macro no Access.

      Excluir
    2. Bom dia Thiago! Você teria um exemplo ou indicação de literatura de como poderei fazer isso? Eu não tenho ideia e não conheço nada sobre gerenciamento de B.D ODBC... Tenho um B.I formado por varias planilhas do Excel, fui obrigada a formar este B.I porque o Excel não suporta meus dados em uma única planilha. Estas varias planilhas são de dados vinculados, atualizáveis através de uma única planilha mestra. O que preciso é de um meio para atualizar estes dados de forma rápida, consegui "desenvolver" uma Macro para abrir, atualizar, salvar e fechar as planilhas. Entretanto, o processo neste meio de automação - através da Macro - consome muito tempo porque são muitas pastas para abrir, carregar e atualizar. Pelo que pesquisei, não há como fazer estas atualizações com as pastas fechadas. Tive a ideia de vincular as planilhas do Excel no Access porque o Windows interpreta como arquivo aberto as planilhas do Excel vinculadas ao Access. Logo, teoricamente, imaginei que seria possível desenvolver um comando para atualizar os dados modificados na planilha mestra sem necessidade de abrir e carregar as demais pastas de dados do Excel. Contudo, não sei se é possível ou como fazê-lo (usar o Access e/ou ODBC combinado para atualizar arquivos do Excel), caso seja possível. Não necessito de absolutamente mais nada neste "método UPDATE", salvo a atualização dos dados mencionadas. Ficaria grata se puder compartilhar um exemplo do método que você sugere, vídeo ou bibliografia voltada ao tema. Obrigada!

      Excluir
    3. Oi Jânia! Infelizmente eu não tenho nada pronto que faça o que você pede, mas algumas consultas ao Google podem te ajudar.
      Por exemplo a conexão a uma planilha por ODBC usando .Net é o seguinte:
      using System.Data.Odbc;
      var conn = new OdbcConnection();
      conn.ConnectionString =
      "Driver={Microsoft Excel Driver (*.xls)};" +
      "Driverid=790;" +
      "Dbq=C:\MyPath\SpreadSheet.xls;" +
      "DefaultDir=C:\MyPath;";
      conn.Open();
      A parte importante desse código é o texto que é concatenado em ConnectionString. Você deve pesquisar sobre como estabelecer uma conexão ODBC dentro da sua macro e utilizar uma String de conexão com formato usado neste exemplo.
      O site de onde este exemplo foi retirado foi: http://www.dofactory.com/reference/connection-strings

      Excluir
    4. Valeu Thiago! Estou pesquisando no Google e YouTube, mas não há muito material didático, não consegui descobrir ainda qual é a funcionalidade do OBDC para saber se a conexão poderá desempenhar em uma macro um método "UPDATE" para atualizar vários arquivos fechados ou vinculados ao Access. Realmente,ainda não compreendi a lógica! Estou pensando, mas quase concluindo que abrir os arquivos em rede para atualiza-los é a melhor opção. Obrigada, se lembrar de alguma coisa, por favor, me dá um toque. Boa tarde!

      Excluir
    5. Jânia, me parece que o melhor caminho para o Access é a vinculação de uma tabela externa tendo o Excel como fonte de dados. Feito isso, as planilhas do excel ficam disponíveis como as proprias tabelas do Access para as macros.

      Excluir
    6. Sim Thiago, está parte do raciocínio eu entendi. O que não estou entendendo é se está conexão do Access com o OBDC oferecerá alguma funcionalidade no sentido de permitir um método UPDATE. Quando se vincula uma planilha do Excel ao Access a conexão já é estabelecida, não necessitando de um gerenciador de conexão. Ademais, o que preciso é de uma porta aberta para atualizar as planilhas, vínculos (conexões) já foram feitos, o que um novo vinculo com OBDC me ofereceria? Está lógica que não compreendi.

      Excluir
    7. O vinculo com ODBC é so uma forma de estabelecer uma conexão com um banco de dados(ou outra forma de dados) de forma genérica, usando drivers do sistema. Depois de pesquisar melhor eu entendi que ele não é o caminho para se trabalhar dentro do Access. Ele é utilizado para outros tipos de sistemas como PHP, .Net ou outras plataformas de programação.
      No Access o melhor é vincular a planilha como uma ou mais tabelas e criar consultas para atualizar estas tabelas.

      Excluir