

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

# Amazon Keyspaces에서 CQL을 사용하여 데이터 생성, 읽기, 업데이트 및 삭제(CRUD)
<a name="getting-started.dml"></a>

자습서의 이 단계에서는 CQL 데이터 조작 언어(DML) 문을 사용하여 Amazon Keyspaces 테이블에서 데이터를 삽입, 읽기, 업데이트 및 삭제하는 방법을 알아봅니다. Amazon Keyspaces에서는 CQL 언어로만 DML 문을 생성할 수 있습니다. 이 자습서에서는 AWS Management Console에서 [AWS CloudShell](using-aws-with-cloudshell.md)과 함께 `cqlsh-expansion`을 사용하여 DML 문을 실행하는 방법을 연습합니다.
+ **데이터 삽입** - 이 섹션에서는 `INSERT` 문을 사용하여 단일 및 다중 레코드를 테이블에 삽입하는 방법을 다룹니다. CSV 파일에서 데이터를 업로드하고 `SELECT` 쿼리를 사용하여 성공적으로 삽입되었는지 확인하는 방법을 알아봅니다.
+ **데이터 읽기** - 여기서는 테이블에서 데이터를 검색하기 위한 `SELECT` 문의 다양한 변형을 살펴봅니다. 주제에는 모든 데이터 선택, 특정 열 선택, `WHERE` 절을 사용하여 조건을 기반으로 행 필터링, 단순 및 복합 조건 이해가 포함됩니다.
+ **데이터 업데이트** - 이 섹션에서는 `UPDATE` 문을 사용하여 테이블의 기존 데이터를 수정하는 방법을 알아봅니다. 프라이머리 키 열 업데이트와 관련된 제한 사항을 이해하면서 단일 및 다중 열 업데이트를 연습합니다.
+ **데이터 삭제** - 마지막 섹션에서는 `DELETE` 문을 사용하여 테이블에서 데이터를 삭제하는 방법을 다룹니다. 특정 셀, 전체 행을 삭제하는 방법과 데이터 삭제와 전체 테이블 또는 키스페이스 삭제의 영향을 알아봅니다.

자습서 전체에서 다양한 시나리오에 대한 자체 CQL 쿼리 작성을 연습할 수 있는 예제, 팁 및 기회를 찾을 수 있습니다.

**Topics**
+ [Amazon Keyspaces 테이블에 데이터 삽입 및 로드](getting-started.dml.create.md)
+ [Amazon Keyspaces의 CQL `SELECT` 문을 사용하여 테이블에서 데이터 읽기](getting-started.dml.read.md)
+ [CQL을 사용하여 Amazon Keyspaces 테이블의 데이터 업데이트](getting-started.dml.update.md)
+ [CQL `DELETE` 문을 사용하여 테이블에서 데이터 삭제](getting-started.dml.delete.md)

# Amazon Keyspaces 테이블에 데이터 삽입 및 로드
<a name="getting-started.dml.create"></a>

`book_awards` 테이블에 데이터를 만들려면 `INSERT` 문을 사용하여 행 하나를 추가합니다.

1. 를 AWS CloudShell 열고 다음 명령을 사용하여 Amazon Keyspaces에 연결합니다. *us-east-1*을 자체 리전으로 업데이트해야 합니다.

   ```
   cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
   ```

   해당 명령의 결과는 다음과 같아야 합니다.

   ```
   Connected to Amazon Keyspaces at cassandra.us-east-1.amazonaws.com:9142
   [cqlsh 6.1.0 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4]
   Use HELP for help.
   cqlsh current consistency level is ONE.
   ```

1. cqlsh를 사용하여 Amazon Keyspaces 테이블에 데이터를 쓰려면 먼저 현재 cqlsh 세션의 쓰기 일관성을 `LOCAL_QUORUM`으로 설정해야 합니다. 지원되는 일관성 수준에 대한 자세한 내용은 [쓰기 일관성 수준](consistency.md#WriteConsistency) 섹션을 참조하세요. AWS Management Console에서 CQL 편집기를 사용하는 경우에는 이 단계가 필요하지 않음에 유의하십시오.

   ```
   CONSISTENCY LOCAL_QUORUM;
   ```

1. 단일 레코드를 삽입하려면 CQL 편집기에서 다음 명령을 실행합니다.

   ```
   INSERT INTO catalog.book_awards (award, year, category, rank, author, book_title, publisher)
   VALUES ('Wolf', 2023, 'Fiction',3,'Shirley Rodriguez','Mountain', 'AnyPublisher') ;
   ```

1. 다음 명령을 실행하여 데이터가 테이블에 올바르게 추가되었는지 확인합니다.

   ```
   SELECT * FROM catalog.book_awards;
   ```

   문의 출력은 다음과 같아야 합니다.

   ```
    year | award | category | rank | author            | book_title | publisher
   ------+-------+----------+------+-------------------+------------+--------------
    2023 |  Wolf |  Fiction |    3 | Shirley Rodriguez |   Mountain | AnyPublisher
   
   (1 rows)
   ```

**cqlsh를 사용하여 파일에서 여러 레코드를 삽입하려면**

1. 아카이브 파일 [samplemigration.zip](samples/samplemigration.zip)에 포함된 샘플 CSV 파일(`keyspaces_sample_table.csv`)을 다운로드합니다. 아카이브의 압축을 풀고 `keyspaces_sample_table.csv`의 경로를 기록해 둡니다.  
![\[csv 파일을 가져온 후 테이블의 출력을 보여주는 CSV 파일의 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/keyspaces/latest/devguide/images/keyspaces-awards.png)

1.  AWS CloudShell 에서 AWS Management Console 를 열고 다음 명령을 사용하여 Amazon Keyspaces에 연결합니다. *us-east-1*을 자체 리전으로 업데이트해야 합니다.

   ```
   cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
   ```

1. `cqlsh` 프롬프트(`cqlsh>`)에서 키스페이스를 지정합니다.

   ```
   USE catalog ;
   ```

1. 쓰기 일관성을 `LOCAL_QUORUM`으로 설정합니다. 지원되는 일관성 수준에 대한 자세한 내용은 [쓰기 일관성 수준](consistency.md#WriteConsistency) 섹션을 참조하세요.

   ```
   CONSISTENCY LOCAL_QUORUM;
   ```

1. 화면 오른쪽 상단의 **작업을** AWS CloudShell 선택한 다음 **파일 업로드**를 선택하여 이전에 다운로드한 csv 파일을 업로드합니다. 파일의 경로를 적어 둡니다.

1. 키스페이스 프롬프트(`cqlsh:catalog>`)에서 다음 문을 실행합니다.

   ```
   COPY book_awards (award, year, category, rank, author, book_title, publisher) FROM '/home/cloudshell-user/keyspaces_sample_table.csv' WITH header=TRUE ;
   ```

   이 문의 출력은 이것과 비슷해야 합니다.

   ```
   cqlsh:catalog> COPY book_awards (award, year, category, rank, author, book_title, publisher)                      FROM '/home/cloudshell-user/keyspaces_sample_table.csv' WITH delimiter=',' AND header=TRUE ;
   cqlsh current consistency level is LOCAL_QUORUM.
   Reading options from /home/cloudshell-user/.cassandra/cqlshrc:[copy]: {'numprocesses': '16', 'maxattempts': '1000'}
   Reading options from /home/cloudshell-user/.cassandra/cqlshrc:[copy-from]: {'ingestrate': '1500', 'maxparseerrors': '1000', 'maxinserterrors': '-1', 'maxbatchsize': '10', 'minbatchsize': '1', 'chunksize': '30'}
   Reading options from the command line: {'delimiter': ',', 'header': 'TRUE'}
   Using 16 child processes
   
   Starting copy of catalog.book_awards with columns [award, year, category, rank, author, book_title, publisher].
   OSError: handle is closed      0 rows/s; Avg. rate:       0 rows/s
   Processed: 9 rows; Rate:       0 rows/s; Avg. rate:       0 rows/s
   9 rows imported from 1 files in 0 day, 0 hour, 0 minute, and 26.706 seconds (0 skipped).
   ```

1. 다음 쿼리를 실행하여 데이터가 테이블에 올바르게 추가되었는지 확인합니다.

   ```
   SELECT * FROM book_awards ;
   ```

   다음과 같이 출력되어야 합니다.

   ```
    year | award            | category    | rank | author             | book_title            | publisher
   ------+------------------+-------------+------+--------------------+-----------------------+---------------
    2020 |             Wolf | Non-Fiction |    1 |        Wang Xiulan |      History of Ideas | Example Books
    2020 |             Wolf | Non-Fiction |    2 | Ana Carolina Silva |         Science Today | SomePublisher
    2020 |             Wolf | Non-Fiction |    3 |  Shirley Rodriguez | The Future of Sea Ice |  AnyPublisher
    2020 | Kwesi Manu Prize |     Fiction |    1 |         Akua Mansa |     Where did you go? | SomePublisher
    2020 | Kwesi Manu Prize |     Fiction |    2 |        John Stiles |             Yesterday | Example Books
    2020 | Kwesi Manu Prize |     Fiction |    3 |         Nikki Wolf | Moving to the Chateau |  AnyPublisher
    2020 |      Richard Roe |     Fiction |    1 |  Alejandro Rosalez |           Long Summer | SomePublisher
    2020 |      Richard Roe |     Fiction |    2 |        Arnav Desai |               The Key | Example Books
    2020 |      Richard Roe |     Fiction |    3 |      Mateo Jackson |      Inside the Whale |  AnyPublisher
   
   (9 rows)
   ```

`cqlsh COPY`를 사용하여 csv 파일에서 Amazon Keyspaces 테이블로 데이터를 업로드하는 방법에 대한 자세한 내용은 [자습서: cqlsh를 사용하여 Amazon Keyspaces에 데이터 로드](bulk-upload.md) 섹션을 참조하세요.

# Amazon Keyspaces의 CQL `SELECT` 문을 사용하여 테이블에서 데이터 읽기
<a name="getting-started.dml.read"></a>

이 [Amazon Keyspaces 테이블에 데이터 삽입 및 로드](getting-started.dml.create.md) 섹션에서는 `SELECT` 문을 사용하여 테이블에 데이터를 성공적으로 추가했는지 확인했습니다. 이 섹션에서는 `SELECT`의 용도를 조정하여 특정 열을 표시하고 특정 기준을 충족하는 행만 표시합니다.

`SELECT` 문의 일반적인 형식은 다음과 같습니다.

```
SELECT column_list FROM table_name [WHERE condition [ALLOW FILTERING]] ;
```

**Topics**
+ [테이블의 모든 데이터 선택](#getting-started.dml.read.all)
+ [열 하위 집합 선택](#getting-started.dml.read.columns)
+ [행의 하위 집합 선택](#getting-started.dml.read.rows)

## 테이블의 모든 데이터 선택
<a name="getting-started.dml.read.all"></a>

`SELECT` 문의 가장 간단한 형식은 테이블의 모든 데이터를 반환합니다.

**중요**  
 이 명령은 테이블의 모든 데이터를 반환하므로 일반적으로 프로덕션 환경에서는 이 명령을 실행하는 것이 가장 좋은 방법은 아닙니다.

**모든 테이블의 데이터를 선택하려면**

1. 를 AWS CloudShell 열고 다음 명령을 사용하여 Amazon Keyspaces에 연결합니다. *us-east-1*을 자체 리전으로 업데이트해야 합니다.

   ```
   cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
   ```

1. 다음 쿼리를 실행합니다.

   ```
   SELECT * FROM catalog.book_awards ;
   ```

   `column_list`에 대해 와일드카드 문자(`*`)를 사용하면 모든 열이 선택됩니다. 문의 출력은 다음 예제와 같습니다.

   ```
    year | award            | category    | rank | author             | book_title            | publisher
   ------+------------------+-------------+------+--------------------+-----------------------+---------------
    2020 |             Wolf | Non-Fiction |    1 |        Wang Xiulan |      History of Ideas |  AnyPublisher
    2020 |             Wolf | Non-Fiction |    2 | Ana Carolina Silva |         Science Today | SomePublisher
    2020 |             Wolf | Non-Fiction |    3 |  Shirley Rodriguez | The Future of Sea Ice |  AnyPublisher
    2020 | Kwesi Manu Prize |     Fiction |    1 |         Akua Mansa |     Where did you go? | SomePublisher
    2020 | Kwesi Manu Prize |     Fiction |    2 |        John Stiles |             Yesterday | Example Books
    2020 | Kwesi Manu Prize |     Fiction |    3 |         Nikki Wolf | Moving to the Chateau |  AnyPublisher
    2020 |      Richard Roe |     Fiction |    1 |  Alejandro Rosalez |           Long Summer | SomePublisher
    2020 |      Richard Roe |     Fiction |    2 |        Arnav Desai |               The Key | Example Books
    2020 |      Richard Roe |     Fiction |    3 |      Mateo Jackson |      Inside the Whale |  AnyPublisher
   ```

## 열 하위 집합 선택
<a name="getting-started.dml.read.columns"></a>

**열 하위 집합을 쿼리하려면**

1. 를 AWS CloudShell 열고 다음 명령을 사용하여 Amazon Keyspaces에 연결합니다. *us-east-1*을 자체 리전으로 업데이트해야 합니다.

   ```
   cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
   ```

1. `award`, `category` 및 `year` 열을 검색하려면 다음 쿼리를 실행합니다.

   ```
   SELECT award, category, year FROM catalog.book_awards ;
   ```

   출력에는 `SELECT` 문에 나열된 순서대로 지정된 열만 포함됩니다.

   ```
    award            | category    | year
   ------------------+-------------+------
                Wolf | Non-Fiction | 2020
                Wolf | Non-Fiction | 2020
                Wolf | Non-Fiction | 2020
    Kwesi Manu Prize |     Fiction | 2020
    Kwesi Manu Prize |     Fiction | 2020
    Kwesi Manu Prize |     Fiction | 2020
         Richard Roe |     Fiction | 2020
         Richard Roe |     Fiction | 2020
         Richard Roe |     Fiction | 2020
   ```

## 행의 하위 집합 선택
<a name="getting-started.dml.read.rows"></a>

대규모 데이터 세트를 쿼리할 때는 특정 기준을 충족하는 레코드만 필요할 수 있습니다. 이렇게 하려면 `SELECT` 문 끝에 `WHERE` 절을 추가할 수 있습니다.

**행 하위 집합을 쿼리하려면**

1. 를 AWS CloudShell 열고 다음 명령을 사용하여 Amazon Keyspaces에 연결합니다. *us-east-1*을 자체 리전으로 업데이트해야 합니다.

   ```
   cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
   ```

1. 지정된 연도의 보상에 대한 레코드만 검색하려면 다음 쿼리를 실행합니다.

   ```
   SELECT * FROM catalog.book_awards WHERE year=2020 AND award='Wolf' ;
   ```

   앞의 `SELECT` 문은 다음 출력을 반환합니다.

   ```
    year | award | category    | rank | author             | book_title            | publisher
   ------+-------+-------------+------+--------------------+-----------------------+---------------
    2020 |  Wolf | Non-Fiction |    1 |        Wang Xiulan |      History of Ideas |  AnyPublisher
    2020 |  Wolf | Non-Fiction |    2 | Ana Carolina Silva |         Science Today | SomePublisher
    2020 |  Wolf | Non-Fiction |    3 |  Shirley Rodriguez | The Future of Sea Ice |  AnyPublisher
   ```

### `WHERE` 절 이해
<a name="getting-started.dml.where"></a>

`WHERE` 절은 데이터를 필터링하고 지정된 기준을 충족하는 데이터만 반환하는 데 사용됩니다. 지정된 기준은 단순 조건일 수도 있고 복합 조건일 수도 있습니다.

**`WHERE` 절에서 조건을 사용하는 방법**
+ 단순 조건 - 단일 열

  ```
  WHERE column_name=value
  ```

  다음 조건 중 하나라도 충족되면 `WHERE` 절에 단순 조건을 사용할 수 있습니다.
  + 열은 테이블의 유일한 프라이머리 키 열입니다.
  + `WHERE` 절의 조건 뒤에 `ALLOW FILTERING`을 추가합니다.

    `ALLOW FILTERING`을 사용하면 성능이 일관되지 않을 수 있으며 특히 여러 파티션을 나눈 대형 테이블의 경우 더욱 그렇습니다.
+ 복합 조건 - `AND`로 연결된 여러 개의 단순 조건

  ```
  WHERE column_name1=value1 AND column_name2=value2 AND column_name3=value3...
  ```

  다음 조건 중 하나라도 충족되면 `WHERE` 절에 복합 조건을 사용할 수 있습니다.
  + `WHERE` 절에서 사용할 수 있는 열에는 테이블의 파티션 키에 열의 전체 또는 하위 집합이 포함되어야 합니다. `WHERE` 절에서 열의 하위 집합만 사용하려면 파티션 키의 선행 열부터 시작하여 왼쪽에서 오른쪽으로 인접한 파티션 키 열 집합을 포함해야 합니다. 예를 들어 파티션 키 열이 `year`, `month`, `award` 인 경우 `WHERE` 절에서 다음 열을 사용할 수 있습니다.
    + `year`
    + `year` 및 `month`
    + `year` 및 `month` 및 `award`
  + 다음 예와 같이 `WHERE` 절의 복합 조건 뒤에 `ALLOW FILTERING`을 추가합니다.

    ```
    SELECT * FROM my_table WHERE col1=5 AND col2='Bob' ALLOW FILTERING ;
    ```

    `ALLOW FILTERING`을 사용하면 성능이 일관되지 않을 수 있으며 특히 여러 파티션을 나눈 대형 테이블의 경우 더욱 그렇습니다.

### 사용해보기
<a name="getting-started.dml.try"></a>

자체 CQL 쿼리를 생성하여 `book_awards` 테이블에서 다음을 찾습니다.
+ 2020 Wolf 어워드의 수상자를 찾아 순위에 따라 책 제목과 작가를 표시합니다.
+ 2020년의 모든 시상식에서 1등상 수상자를 표시하고 책 제목과 시상식을 표시합니다.

# CQL을 사용하여 Amazon Keyspaces 테이블의 데이터 업데이트
<a name="getting-started.dml.update"></a>

`book_awards` 테이블의 데이터를 업데이트하려면 `UPDATE` 문을 사용합니다.

`UPDATE` 문의 일반적인 형식은 다음과 같습니다.

```
UPDATE table_name SET column_name=new_value WHERE primary_key=value ;
```

**작은 정보**  
다음 예제와 같이 쉼표로 구분된 `column_names` 및 값 목록을 사용하여 여러 열을 업데이트할 수 있습니다.  

  ```
  UPDATE my_table SET col1='new_value_1', col2='new_value2' WHERE col3='1' ;
  ```
프라이머리 키가 여러 열로 구성된 경우 모든 프라이머리 키 열과 해당 값이 `WHERE` 절에 포함되어야 합니다.
프라이머리 키의 어떤 열도 업데이트할 수 없습니다. 업데이트하면 레코드의 프라이머리 키가 변경되기 때문입니다.

**단일 셀을 업데이트하려면**  
`book_awards` 테이블을 사용하여 2020년 Wolf 논픽션상을 수상할 출판사의 이름을 변경합니다.

```
UPDATE book_awards SET publisher='new Books' WHERE year = 2020 AND award='Wolf' AND category='Non-Fiction' AND rank=1;
```

출판사가 이제 `new Books`인지 확인합니다.

```
SELECT * FROM book_awards WHERE year = 2020 AND award='Wolf' AND category='Non-Fiction' AND rank=1;
```

문은 다음 출력을 반환해야합니다.

```
 year | award | category    | rank | author      | book_title       | publisher
------+-------+-------------+------+-------------+------------------+-----------
 2020 |  Wolf | Non-Fiction |    1 | Wang Xiulan | History of Ideas | new Books
```

## 사용해보기
<a name="getting-started.dml.update.try"></a>

**고급:** 2020년 'Kwezi Manu Prize' 픽션 부문 수상자의 이름이 변경되었습니다. 이름을 `'Akua Mansa-House'`로 변경하려면 이 레코드를 업데이트합니다.

# CQL `DELETE` 문을 사용하여 테이블에서 데이터 삭제
<a name="getting-started.dml.delete"></a>

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

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

테이블에서 하나 또는 모든 행을 삭제해도 테이블은 삭제되지 않습니다. 따라서 데이터를 다시 채울 수 있습니다. 테이블을 삭제하면 테이블과 테이블 내의 모든 데이터가 삭제됩니다. 테이블을 다시 사용하려면 테이블을 다시 생성하여 데이터를 추가해야 합니다. 키스페이스를 삭제하면 키스페이스와 그 안에 있는 모든 테이블이 삭제됩니다. 키스페이스와 테이블을 사용하려면 키스페이스와 테이블을 다시 생성한 다음 데이터로 채워야 합니다. Amazon Keyspaces 특정 시점(PITR) 복구를 사용하면 삭제된 테이블을 복원하는 데 도움이 되며 자세한 내용은 [Amazon Keyspaces에 대한 시점 복구를 통한 데이터 백업 및 복원](PointInTimeRecovery.md) 섹션을 참조하세요. PITR이 활성화된 상태에서 삭제된 테이블을 복원하는 방법을 알아보려면 [Amazon Keyspaces PITR을 사용하여 삭제된 테이블 복원](restoredeleted.md) 섹션을 참조하세요.

## 셀 삭제
<a name="getting-started.dml.delete-cell"></a>

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

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

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

`book_awards` 테이블에서 2020년 'Richard Roe' 가격의 첫 번째 가격을 획득한 책의 제목은 'Long Summer'임을 확인할 수 있습니다. 이 제목이 호출되었으며 이 셀에서 데이터를 삭제해야 한다고 가정해 보겠습니다.

**특정 셀을 삭제하려면**

1. 를 AWS CloudShell 열고 다음 명령을 사용하여 Amazon Keyspaces에 연결합니다. *us-east-1*을 자체 리전으로 업데이트해야 합니다.

   ```
   cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
   ```

1. 다음 `DELETE` 쿼리를 실행합니다.

   ```
   DELETE book_title FROM catalog.book_awards WHERE year=2020 AND award='Richard Roe' AND category='Fiction' AND rank=1;
   ```

1. 삭제 요청이 예상대로 이루어졌는지 확인합니다.

   ```
   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
   ```

## 행 삭제
<a name="getting-started.dml.delete-row"></a>

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

```
DELETE FROM table_name WHERE condition ;
```

**행을 삭제하려면**

1. 를 AWS CloudShell 열고 다음 명령을 사용하여 Amazon Keyspaces에 연결합니다. *us-east-1*을 자체 리전으로 업데이트해야 합니다.

   ```
   cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
   ```

1. 다음 `DELETE` 쿼리를 실행합니다.

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

1. 삭제가 예상대로 이루어졌는지 확인합니다.

   ```
   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(Apache Cassandra용)의 TTL(Time to Live)을 사용하여 데이터 만료](TTL.md) 섹션을 참조하세요.