Resumo : neste tutorial, você aprenderá como usar UPDATE
a instrução SQLite para atualizar dados de linhas existentes na tabela.
UPDATE
Introdução à instrução SQLite
Para atualizar os dados existentes em uma tabela, você usa UPDATE
a instrução SQLite. O seguinte ilustra a sintaxe da UPDATE
instrução:
UPDATE table
SET column_1 = new_value_1,
column_2 = new_value_2
WHERE
search_condition
ORDER column_or_expression
LIMIT row_count OFFSET offset;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta sintaxe:
- Primeiro, especifique a tabela onde deseja atualizar após a
UPDATE
cláusula. - Segundo, defina um novo valor para cada coluna da tabela na
SET
cláusula. - Terceiro, especifique as linhas a serem atualizadas usando uma condição na
WHERE
cláusula. AWHERE
cláusula é opcional. Se você pular, aUPDATE
instrução atualizará os dados em todas as linhas da tabela. - Por fim, use as cláusulas
ORDER BY
eLIMIT
naUPDATE
instrução para especificar o número de linhas a serem atualizadas.
Observe que se usar um valor negativo na LIMIT
cláusula, o SQLite assume que não há limite e atualiza todas as linhas que atendem à condição da WHERE
cláusula anterior.
A ORDER BY
cláusula deve sempre acompanhar a LIMIT
cláusula para especificar exatamente quais linhas serão atualizadas. Caso contrário, você nunca saberá qual linha será realmente atualizada; porque sem a ORDER BY
cláusula, a ordem das linhas na tabela não é especificada.
UPDATE
Exemplos de instruções SQLite
Usaremos a employees
tabela do banco de dados de exemplo para demonstrar a UPDATE
instrução.
A SELECT
instrução a seguir obtém dados parciais da employees
tabela:
SELECT
employeeid,
firstname,
lastname,
title,
email
FROM
employees;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
1) Atualize um exemplo de coluna
Suponha que Jane se casou e queria mudar seu sobrenome para o sobrenome do marido, ou seja Smith
,. Nesse caso, você pode atualizar o sobrenome de Jane usando a seguinte instrução:
UPDATE employees
SET lastname = 'Smith'
WHERE employeeid = 3;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A expressão na WHERE
cláusula garante que atualizamos apenas o registro de Jane. Definimos a lastname
coluna como uma string literal 'Smith'
.
Para verificar o UPDATE
, você usa a seguinte instrução:
SELECT
employeeid,
firstname,
lastname,
title,
email
FROM
employees
WHERE
employeeid = 3;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
2) Exemplo de atualização de múltiplas colunas
Suponha que você Park Margaret
esteja localizado Toronto
e queira alterar as informações de endereço, cidade e estado. Você pode usar a UPDATE
instrução para atualizar várias colunas da seguinte maneira:
UPDATE employees
SET city = 'Toronto',
state = 'ON',
postalcode = 'M5P 2N7'
WHERE
employeeid = 4;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Para verificar o UPDATE
, você usa a seguinte instrução:
SELECT
employeeid,
firstname,
lastname,
state,
city,
PostalCode
FROM
employees
WHERE
employeeid = 4;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
3) Atualização com exemplo de ORDER BY
cláusulasLIMIT
Observe que você precisa construir o SQLite com a opção SQLITE_ENABLE_UPDATE_DELETE_LIMIT para executar UPDATE
a instrução com cláusulas opcionais ORDER BY
e LIMIT
.
Vamos verificar os endereços de e-mail dos funcionários na employees
tabela:
SELECT
employeeid,
firstname,
lastname,
email
FROM
employees;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Para atualizar uma linha na employees
tabela, você usa LIMIT 1
a cláusula. Para certificar-se de atualizar a primeira linha de funcionários classificados pelo primeiro nome, adicione a ORDER BY firstname
cláusula.
Portanto, a seguinte declaração atualiza o e-mail de Andrew Adams
:
UPDATE employees
SET email = LOWER(
firstname || "." || lastname || "@chinookcorp.com"
)
ORDER BY
firstname
LIMIT 1;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
O novo e-mail é a combinação do nome, ponto (.), sobrenome e sufixo@chinookcorp.com
A LOWER()
função converte o e-mail para letras minúsculas.
4) Exemplo de atualização de todas as linhas
Para atualizar todas as linhas da employees
tabela, ignore a WHERE
cláusula. Por exemplo, a UPDATE
instrução a seguir altera todos os endereços de e-mail de todos os funcionários para letras minúsculas:
UPDATE employees
SET email = LOWER(
firstname || "." || lastname || "@chinookcorp.com"
);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste tutorial, você aprendeu como usar a UPDATE
instrução SQLite para atualizar dados existentes em uma tabela.
Referências
- https://www.sqlite.org/lang_update.html – Instrução de atualização SQLite