update permite que você modifique dados de uma ou mais colunas em uma tabela.
Sintaxe para UPDATE
update nome_tabela set coluna1 = valor1, coluna2 = valor2, ... [where condicao_de_busca];
- especifique o nome da tabela na qual deseja atualizar os dados após a palavra-chave update(update nome_tabela)
- especifique uma ou mais colunas com novos valores na cláusula set(set coluna1 = valor1…)
- use a cláusula where para especificar quais linhas você deseja modificar os dados. Se você não colocar a cláusula where, a instrução de atualização modificará os dados de todas as linhas da tabela e isso será aterrorizante!!!!
Exemplos de Uso de UPDATE
Iremos usar a tabela guests em nossos exemplos:
MariaDB [nation]> select * from guests; +----------+---------+ | guest_id | name | +----------+---------+ | 1 | John | | 2 | Jane | | 3 | Jean | | 4 | Storm | | 5 | Beast | | 6 | | | 7 | silvia | | 8 | maria | | 9 | Joana | | 10 | Mateus | | 11 | Silvia | | 12 | Mariana | | 13 | bruno | | 14 | Paulo | | 15 | Marina | +----------+---------+
#1 Alterando Marina para Mariana. Veja que esse é o registro 15
update guests set name=’Mariana’ where guest_id=15;
MariaDB [nation]> update guests set name='Mariana' where guest_id=15; Query OK, 1 row affected (0,015 sec) Rows matched: 1 Changed: 1 Warnings: 0
Execute um select * from guests:
MariaDB [nation]> select * from guests; +----------+---------+ | guest_id | name | +----------+---------+ | 1 | John | | 2 | Jane | | 3 | Jean | | 4 | Storm | | 5 | Beast | | 6 | | | 7 | silvia | | 8 | maria | | 9 | Joana | | 10 | Mateus | | 11 | Silvia | | 12 | Mariana | | 13 | bruno | | 14 | Paulo | | 15 | Mariana | +----------+---------+
#2 para modificar mais de uma linha faça:
Iremos modificar o id 6 para 100 e o seu nome para Everaldo
update guests set guest_id=100,name=’Everaldo’ where guest_id=6;
MariaDB [nation]> update guests set guest_id=100,name='Everaldo' where guest_id=6; Query OK, 1 row affected (0,003 sec) Rows matched: 1 Changed: 1 Warnings: 0
Sintaxe Alternativa
Podemos usar replace() para modificar registros:
update contacts set phone = replace(phone,'(408)','(510)') where contact_group = 'Customers';
Neste exemplo, a cláusula where retorna todos os contatos cujos grupos são ‘Customers‘. A cláusula set usa a função replace() que substitui a string ‘(408)’ por ‘(510)’.