Resumo : este tutorial mostra como usar DELETE
a instrução SQLite para remover linhas de uma tabela.
DELETE
Introdução à instrução SQLite
Você aprendeu como inserir uma nova linha em uma tabela e atualizar os dados existentes de uma tabela. Às vezes, você precisa remover linhas de uma tabela. Neste caso, você usa DELETE
a instrução SQLite.
A instrução SQLite DELETE
permite excluir uma linha, várias linhas e todas as linhas de uma tabela. A sintaxe da DELETE
instrução SQLite é a seguinte:
DELETE FROM table
WHERE search_condition;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta sintaxe:
- Primeiro, especifique o nome da tabela da qual deseja remover as linhas após as
DELETE FROM
palavras-chave. - Segundo, adicione uma condição de pesquisa na
WHERE
cláusula para identificar as linhas a serem removidas. AWHERE
cláusula é uma parte opcional daDELETE
declaração. Se você omitir aWHERE
cláusula, aDELETE
instrução excluirá todas as linhas da tabela.
SQLite também fornece uma extensão para a DELETE
instrução adicionando cláusulas ORDER BY
e LIMIT
. Se você compilar o SQLite com a opção de tempo de compilação SQLITE_ENABLE_UPDATE_DELETE_LIMIT , poderá usar a cláusula ORDER BY
and LIMIT
na DELETE
instrução como no seguinte formato:
DELETE FROM table
WHERE search_condition
ORDER BY criteria
LIMIT row_count OFFSET offset;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A ORDER BY
cláusula classifica as linhas filtradas pelas anteriores search_condition
na WHERE
cláusula e a LIMIT
cláusula especifica o número de linhas a serem excluídas.
Observe que quando você usa a DELETE
instrução sem WHERE
cláusula em uma tabela que não possui gatilhos. O SQLite excluirá todas as linhas de uma só vez, em vez de visitar e excluir cada linha individual. Esse recurso é conhecido como otimização truncada.
DELETE
Exemplos de instruções SQLite
Usaremos a artists_backup
tabela criada no tutorial como inserir linhas na tabela .
Se você não seguiu esse tutorial, você pode criar a artists_backup
tabela e inserir dados nela usando o seguinte script:
-- create artists backup table
CREATE TABLE artists_backup(
artistid INTEGER PRIMARY KEY AUTOINCREMENT,
name NVARCHAR
);
-- populate data from the artists table
INSERT INTO artists_backup
SELECT artistid,name
FROM artists;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A instrução a seguir retorna todas as linhas da artists_backup
tabela:
SELECT
artistid,
name
FROM
artists_backup;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Temos 280 linhas na artists_backup
tabela.
Para remover um artista com id 1, você usa a seguinte instrução:
DELETE FROM artists_backup
WHERE artistid = 1;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Como usamos artistid
para identificar o artista, a instrução removeu exatamente 1 linha.
Suponha que você queira excluir artistas cujos nomes contenham a palavra Santana
:
DELETE FROM artists_backup
WHERE name LIKE '%Santana%';
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Existem 9 linhas cujos valores na name
coluna contêm a palavra Santana
, portanto, essas 9 linhas foram excluídas.
Para remover todas as linhas da artists_backup
tabela, basta omitir a WHERE
cláusula conforme a seguinte instrução:
DELETE FROM artists_backup;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste tutorial, você aprendeu como usar DELETE
a instrução SQLite para remover linhas em uma tabela.