Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

Skip to main content
TUTORIAL

Create and Query a NoSQL Table with Amazon DynamoDB

Overview

In this tutorial, you will learn how to create a simple table, add data, scan and query the data, delete data, and delete the table by using the DynamoDB console. DynamoDB is a fully managed NoSQL database that supports both document and key-value store models. Its flexible data model, reliable performance, and automatic scaling of throughput capacity make it a great fit for mobile, web, gaming, ad tech, IoT, and many other applications.Everything done in this tutorial is free-tier eligible.

AWS experience

Beginner

Time to complete

10 minutes

Cost to complete

Free Tier eligible

Requires

  • AWS account
  • Recommended browser: The latest version of Chrome or Firefox

[**]Accounts created within the past 24 hours might not yet have access to the services required for this tutorial.

Services used

Amazon DynamoDB

Last updated

January 12, 2024

Implementation

Open the AWS Management Console so that you can keep this step-by-step guide open. When this screen loads, begin typing DynamoDB in the search bar and choose to open the DynamoDB console.
  • In this step, you will use the DynamoDB console to create a table.

    a. In the DynamoDB console, choose Create table.

    In the DynamoDB console, choose Create table

    b. We will use a music library as our use case for this tutorial. In the Table name box, type Music.

    Create Music table

    c. The partition key is used to spread data across partitions for scalability. It’s important to choose an attribute with a wide range of values and that is likely to have evenly distributed access patterns. Type Artist in the Partition key box.

    d. Because each artist may write many songs, you can enable easy sorting with a sort key. Enter songTitle in the Sort key box.

    e. Next, you will enable DynamoDB auto scaling for your table.

    DynamoDB auto scaling will change the read and write capacity of your table based on request volume. Using an AWS Identity and Access Management (AWS IAM) role called DynamoDBAutoscaleRole, DynamoDB will manage the scaling process on your behalf. DynamoDB creates this role for you the first time you enable auto scaling in an account.

    To enable DynamoDB auto scaling for your table, select Customize settings.

    Enable DynamoDB auto scaling for your table

    f. Scroll down the screen past Secondary indexes, Estimated read/write capacity cost, Encryption at rest, and Tags to the Create table button. We won't change these settings for the tutorial.

    Now choose Create table.

    When the Music table is ready to use, it appears in the table list with a check box.

    Congratulations! You have created a NoSQL table using the DynamoDB console.

In this step, you will add data to your new DynamoDB table.

  • a. Select Explore items from the left menu, then select the radio button next to the Music table. Click the Create item button.

    On the Items tab, choose Create item

    b. In the data entry window, type the following:

    • For the Artist attribute, type No One You Know.

    • For the songTitle attribute, type Call Me Today.

    Choose Create item.

    Data entry window

    c. Repeat the process to add a few more items to your Music table:

    • Artist: No One You Know; songTitle: My Dog Spot

    • Artist: No One You Know; songTitle: Somewhere Down The Road

    • Artist: The Acme Band; songTitle: Still in Love

    • Artist: The Acme Band; songTitle: Look Out, World

    Add a few more items to your Music table

In this step, you will search for data in the table using query operations. In DynamoDB, query operations are efficient and use keys to find data. Scan operations traverse the entire table.

a. Select the arrow next to "Scan/Query items". Then select "Query".

b. You can use the console to query the Music table in various ways. For your first query, do the following:
In the Artist box, type No One You Know, and choose Run. All songs performed by No One You Know are displayed.

Use the console to query the Music table in various ways

Try another query:

  • In the Artist box, type The Acme Band, and choose Run. All songs performed by The Acme Band are displayed.

Use the console to query the Music table in various ways

c. Try another query, but this time narrow down the search results:

  • In the Artist box, type The Acme Band.

  • In the songTitle box, select Begins with from the dropdown list and type S.

  • Choose Run. Only "Still in Love" performed by The Acme Band is displayed.

Narrow down the search results

In this step, you will delete an item from your DynamoDB table.

a. Change the Query dropdown list back to Scan.  

Select the checkbox next to The Acme Band. In the Actions dropdown list, choose Delete items. You will be asked whether to delete the item. Choose Delete and your item is deleted.

Select the check box next to The Acme Band

In this step, you will delete your DynamoDB table.

a. You can easily delete a table by using the DynamoDB console. It is a best practice to delete tables you are no longer using so that you don’t keep getting charged for them.

  • In the DynamoDB console, select the checkbox next to the Music table and then choose Delete.

  • In the confirmation dialog box, enter the text delete and choose Delete table.

    Choose the option next to the Music table and then choose Delete table

Conclusion

Congratulations! You have created your first DynamoDB table, added items to your table, and then queried the table to find the items you wanted. You also learned how to visually manage your DynamoDB tables and items through the AWS Management Console.

DynamoDB is a great fit for mobile, web, gaming, ad tech, and IoT applications where scalability, throughput, and reliable performance are key considerations.

Read Getting Started with DynamoDB