Excluir dados de uma tabela usando a instrução DELETE em CQL - Amazon Keyspaces (para Apache Cassandra)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Excluir dados de uma tabela usando a instrução DELETE em CQL

Para excluir dados na tabela book_awards, use a instrução DELETE.

Você pode excluir dados de uma linha ou de uma partição. Tenha cuidado ao excluir dados, pois as exclusões são irreversíveis.

Excluir uma ou todas as linhas de uma tabela não exclui a tabela. Assim, você pode preenchê-la novamente com dados. A exclusão de uma tabela exclui a tabela e todos os dados nela contidos. Para usar a tabela novamente, você deverá recriá-la e adicionar dados a ela. A exclusão de um espaço de chave exclui o espaço de chave e todas as tabelas dentro dele. Para usar o espaço de chave e as tabelas, você deve recriá-los e, em seguida, preenchê-los com dados. Você pode usar a recuperação Point-in-Time (PITR) do Amazon Keyspaces para ajudar a restaurar tabelas excluídas. Para saber mais, consulte Backup e restauração de dados com a recuperação para um ponto no tempo para o Amazon Keyspaces. Para saber como restaurar uma tabela excluída com o PITR ativado, consulte Restaurar uma tabela excluída usando a PITR do Amazon Keyspaces.

Exclua as células

A exclusão de uma coluna de uma linha remove os dados da célula especificada. Quando você exibe essa coluna usando uma instrução SELECT, os dados são exibidos como nulos, embora um valor nulo não seja armazenado nesse local.

A sintaxe geral para excluir uma ou mais colunas específicas é a seguinte.

DELETE column_name1[, column_name2...] FROM table_name WHERE condition ;

Na sua tabela de book_awards, você pode ver que o título do livro que ganhou o primeiro preço do prêmio “Richard Roe” de 2020 é “Long Summer”. Imagine que esse título tenha sido recuperado e você precise excluir os dados dessa célula.

Como excluir uma célula específica
  1. Abra AWS CloudShell e se conecte ao Amazon Keyspaces usando o comando a seguir. Certifique-se de atualizar us-east-1 com sua própria região.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. Execute a seguinte consulta DELETE.

    DELETE book_title FROM catalog.book_awards WHERE year=2020 AND award='Richard Roe' AND category='Fiction' AND rank=1;
  3. Verifique se a solicitação de exclusão foi feita conforme o esperado.

    SELECT * FROM catalog.book_awards WHERE year=2020 AND award='Richard Roe' AND category='Fiction' AND rank=1;

    A saída desta instrução tem a aparência a seguir.

    year | award | category | rank | author | book_title | publisher ------+-------------+----------+------+-------------------+------------+--------------- 2020 | Richard Roe | Fiction | 1 | Alejandro Rosalez | null | SomePublisher

Excluir linhas

Pode haver um momento em que você precise excluir uma linha inteira, por exemplo, para atender a uma solicitação de exclusão de dados. A sintaxe geral para excluir uma linha é a seguinte.

DELETE FROM table_name WHERE condition ;
Para excluir uma linha
  1. Abra AWS CloudShell e se conecte ao Amazon Keyspaces usando o comando a seguir. Certifique-se de atualizar us-east-1 com sua própria região.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. Execute a seguinte consulta DELETE.

    DELETE FROM catalog.book_awards WHERE year=2020 AND award='Richard Roe' AND category='Fiction' AND rank=1;
  3. Verifique se a exclusão foi feita conforme o esperado.

    SELECT * FROM catalog.book_awards WHERE year=2020 AND award='Richard Roe' AND category='Fiction' AND rank=1;

    A saída dessa instrução fica assim depois que a linha foi excluída.

    year | award | category | rank | author | book_title | publisher ------+-------+----------+------+--------+------------+----------- (0 rows)

Você pode excluir dados expirados automaticamente da sua tabela usando o Amazon Keyspaces Time to Live. Para obter mais informações, consulte Dados expirados com vida útil (TTL) para Amazon Keyspaces (para Apache Cassandra).