SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Excluir SQLite


Resumo :este tutorial mostra como usar SQLite DELETE instrução para remover linhas de uma tabela.

Introdução ao SQLite DELETE declaração


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 SQLite DELETE demonstração.

O SQLite DELETE A instrução permite excluir uma linha, várias linhas e todas as linhas de uma tabela. A sintaxe do SQLite DELETE declaração é a seguinte:
DELETE FROM table
WHERE search_condition;Code language: SQL (Structured Query Language) (sql)

Nesta sintaxe:
  • Primeiro, especifique o nome da tabela da qual você deseja remover as linhas após o DELETE FROM palavras-chave.
  • Segundo, adicione uma condição de pesquisa em WHERE cláusula para identificar as linhas a serem removidas. O WHERE cláusula é uma parte opcional do DELETE demonstração. Se você omitir o WHERE cláusula, a DELETE A instrução excluirá todas as linhas da tabela.

SQLite também fornece uma extensão para o DELETE instrução adicionando ORDER BY e LIMIT cláusulas. Se você compilar SQLite com a opção de tempo de compilação SQLITE_ENABLE_UPDATE_DELETE_LIMIT, você pode usar o ORDER BY e LIMIT cláusula no DELETE declaração como o seguinte formulário:
DELETE FROM table
WHERE search_condition
ORDER BY criteria
LIMIT row_count OFFSET offset;Code language: SQL (Structured Query Language) (sql)

O ORDER BY cláusula classifica as linhas filtradas pela search_condition anterior no WHERE cláusula e o LIMIT cláusula especifica o número de linhas a serem excluídas.

Observe que quando você usa o comando DELETE declaração sem um WHERE cláusula em uma tabela que não tem 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 de truncado.

SQLite DELETE exemplos de declarações


Usaremos o artists_backup tabela criada no tutorial de como inserir linhas na tabela.

Se você não seguiu esse tutorial, você pode criar o artists_backup table e insira 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;Code language: SQL (Structured Query Language) (sql)

A instrução a seguir retorna todas as linhas do artists_backup tabela:
SELECT
	artistid,
	name
FROM
	artists_backup;Code language: SQL (Structured Query Language) (sql)

Tente

Temos 280 linhas no artists_backup tabela.

Para remover um artista com id 1, use a seguinte instrução:
DELETE FROM artists_backup
WHERE artistid = 1;Code language: SQL (Structured Query Language) (sql)

Tente

Porque usamos artistid para identificar o artista, a declaraçã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%';Code language: SQL (Structured Query Language) (sql)

Tente

Existem 9 linhas cujos valores no name coluna contém a palavra Santana portanto, essas 9 linhas foram excluídas.

Para remover todas as linhas do artists_backup tabela, você só precisa omitir o WHERE cláusula como a seguinte declaração:
DELETE FROM artists_backup;Code language: SQL (Structured Query Language) (sql)

Tente

Neste tutorial, você aprendeu como usar SQLite DELETE instrução para remover linhas em uma tabela.