Atualização do SQLite

Resumo : neste tutorial, você aprenderá como usar UPDATEa instrução SQLite para atualizar dados de linhas existentes na tabela.

UPDATEIntrodução à instrução SQLite

Para atualizar os dados existentes em uma tabela, você usa UPDATEa instrução SQLite. O seguinte ilustra a sintaxe da UPDATEinstruçã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 UPDATEcláusula.
  • Segundo, defina um novo valor para cada coluna da tabela na SETcláusula.
  • Terceiro, especifique as linhas a serem atualizadas usando uma condição na WHEREcláusula. A WHEREcláusula é opcional. Se você pular, a UPDATEinstrução atualizará os dados em todas as linhas da tabela.
  • Por fim, use as cláusulas ORDER BYe LIMITna UPDATEinstrução para especificar o número de linhas a serem atualizadas.

Observe que se usar um valor negativo na LIMITcláusula, o SQLite assume que não há limite e atualiza todas as linhas que atendem à condição da WHEREcláusula anterior.

A ORDER BYcláusula deve sempre acompanhar a LIMITcláusula para especificar exatamente quais linhas serão atualizadas. Caso contrário, você nunca saberá qual linha será realmente atualizada; porque sem a ORDER BYcláusula, a ordem das linhas na tabela não é especificada.

UPDATEExemplos de instruções SQLite

Usaremos a employeestabela do banco de dados de exemplo para demonstrar a UPDATEinstrução.

A SELECTinstrução a seguir obtém dados parciais da employeestabela:

SELECT
	employeeid,
	firstname,
	lastname,
	title,
	email
FROM
	employees;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Tente

Exemplo de tabela de atualização SQLite

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 )

Tente

A expressão na WHEREcláusula garante que atualizamos apenas o registro de Jane. Definimos a lastnamecoluna 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 )

Tente

Exemplo de atualização de uma coluna do SQLite

2) Exemplo de atualização de múltiplas colunas

Suponha que você Park Margaretesteja localizado Torontoe queira alterar as informações de endereço, cidade e estado. Você pode usar a UPDATEinstruçã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 )

Tente

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 )

Tente

Exemplo de atualização de múltiplas colunas do SQLite

3) Atualização com exemplo de ORDER BYcláusulasLIMIT

Observe que você precisa construir o SQLite com a opção SQLITE_ENABLE_UPDATE_DELETE_LIMIT para executar UPDATEa instrução com cláusulas opcionais ORDER BYe LIMIT.

Vamos verificar os endereços de e-mail dos funcionários na employeestabela:

SELECT
	employeeid,
	firstname,
	lastname,
	email
FROM
	employees;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Tente

Ordem de atualização do SQLite por limite

Para atualizar uma linha na employeestabela, você usa LIMIT 1a cláusula. Para certificar-se de atualizar a primeira linha de funcionários classificados pelo primeiro nome, adicione a ORDER BY firstnameclá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 )

Tente

Exemplo de ordem por limite de atualização do SQLite

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   employeestabela, ignore a WHEREcláusula. Por exemplo, a UPDATEinstruçã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 )

Tente

Exemplo de atualização de todas as linhas do SQLite

Neste tutorial, você aprendeu como usar a UPDATEinstrução SQLite para atualizar dados existentes em uma tabela.

Referências

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *