자습서: DELETE 명령문을 사용하여 테이블에서 데이터 삭제 - Amazon Keyspaces(Apache Cassandra용)

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

자습서: DELETE 명령문을 사용하여 테이블에서 데이터 삭제

book_awards 테이블의 데이터를 삭제하려면 DELETE 문을 사용합니다.

행이나 파티션에서 데이터를 삭제할 수 있습니다. 삭제는 되돌릴 수 없으므로 데이터를 삭제할 때는 주의해야 합니다.

테이블에서 행을 하나 또는 모두 삭제해도 테이블은 삭제되지 않습니다. 따라서 데이터를 다시 채울 수 있습니다. 테이블을 삭제하면 테이블과 테이블 내의 모든 데이터가 삭제됩니다. 테이블을 다시 사용하려면 테이블을 다시 생성하여 데이터를 추가해야 합니다. 키스페이스를 삭제하면 키스페이스와 그 안에 있는 모든 테이블이 삭제됩니다. 키스페이스와 테이블을 사용하려면 키스페이스와 테이블을 다시 생성한 다음 데이터로 채워야 합니다. Amazon Keyspaces P oint-in-time (PITR) 복구를 사용하여 삭제된 테이블을 복원할 수 있습니다. 자세한 내용은 을 참조하십시오. Amazon Keyspaces(Apache Cassandra용)에 대한 시점 복구 PITR을 활성화한 상태에서 삭제된 테이블을 복원하는 방법을 알아보려면 을 참조하십시오. CQL을 사용하여 삭제된 테이블 복원

셀 삭제

행에서 열을 삭제하면 지정된 셀의 데이터가 제거됩니다. SELECT 문을 사용하여 해당 열을 표시하면 데이터가 null로 표시되지만 해당 위치에 null 값이 저장되지는 않습니다.

하나 이상의 특정 열을 삭제하는 일반적인 구문은 다음과 같습니다.

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

book_awards표에서 2020년 “Richard Roe” 가격 중 첫 번째로 낙찰된 책의 제목이 “Long Summer”인 것을 확인할 수 있습니다. 이 책이 리콜되었다고 상상해 보세요. 여기에 있는 데이터를 삭제해서 그 안에 어떤 데이터도 담고 있지 않게 하려는 거죠.

특정 셀을 삭제하려면
  1. 다음 명령을 사용하여 Amazon Keyspaces를 AWS CloudShell 열고 연결합니다. us-east-1을 해당 지역으로 업데이트하세요.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. 다음 DELETE 쿼리를 실행합니다.

    DELETE book_title FROM catalog.book_awards WHERE year=2020 AND award='Richard Roe' AND category='Fiction' AND rank=1;
  3. 삭제 요청이 예상대로 이루어졌는지 확인하세요.

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

    이 명령문의 출력은 다음과 같습니다.

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

행 삭제

예를 들어 데이터 삭제 요청을 충족하기 위해 행 전체를 삭제해야 하는 경우가 있을 수 있습니다. 행을 삭제하는 일반적인 구문은 다음과 같습니다.

DELETE FROM table_name WHERE condition ;
행을 삭제하려면
  1. 다음 명령을 사용하여 Amazon Keyspaces를 AWS CloudShell 열고 연결합니다. us-east-1을 해당 지역으로 업데이트하세요.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
  2. 다음 DELETE 쿼리를 실행합니다.

    DELETE FROM catalog.book_awards WHERE year=2020 AND award='Richard Roe' AND category='Fiction' AND rank=1;
  3. 삭제가 예상대로 이루어졌는지 확인합니다.

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

    행을 삭제한 후 이 명령문의 출력은 다음과 같습니다.

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

Amazon Keyspaces Time to Live를 사용하여 테이블에서 만료된 데이터를 자동으로 삭제할 수 있습니다. 자세한 내용은 을 참조하십시오. Amazon Keyspaces의 경우 TTL (타임 투 라이브) 에 따른 데이터 만료 (아파치 카산드라의 경우)