Amazon DynamoDB
开发人员指南 (API Version 2012-08-10)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

将数据写入表

关系数据库表包含数据行。行由列组成。

DynamoDB 表包含项目。项目由属性组成。

本节介绍如何将行 (或项目) 写入表。

SQL

关系数据库中的表是一个由行和列组成的二维数据结构。一些数据库管理系统还支持半结构化数据 (通常带本机 JSON 或 XML 数据类型)。但实施详情因供应商而异。

在 SQL 中,可使用 INSERT 语句向表添加行:

Copy
INSERT INTO Music (Artist, SongTitle, AlbumTitle, Year, Price, Genre, Tags) VALUES( 'No One You Know', 'Call Me Today', 'Somewhat Famous', 2015, 2.14, 'Country', '{"Composers": ["Smith", "Jones","Davis"],"LengthInSeconds": 214}' );

此表的主键包含 ArtistSongTitle。您必须为这些列指定值。

注意

在此示例中,我们使用 Tags 列存储有关 Music 表中的歌曲的半结构化数据。我们已将 Tags 列定义为类型 TEXT,可在 MySQL 中存储最多 65535 个字符。

DynamoDB

在 Amazon DynamoDB 中,您使用 PutItem 操作向表添加项目:

Copy
{ TableName: "Music", Item: { "Artist":"No One You Know", "SongTitle":"Call Me Today", "AlbumTitle":"Somewhat Famous", "Year": 2015, "Price": 2.14, "Genre": "Country", "Tags": { "Composers": [ "Smith", "Jones", "Davis" ], "LengthInSeconds": 214 } } }

此表的主键包含 ArtistSongTitle。您必须为这些属性指定值。

以下是要了解的有关此 PutItem 示例的几个关键事项:

  • DynamoDB 使用 JSON 提供对文档的本机支持。这使得 DynamoDB 非常适合存储半结构化数据,例如 Tags。您也可以从 JSON 文档中检索和操作数据。

  • 除了主键 (ArtistSongTitle),Music 表没有预定义的属性。

  • 大多数 SQL 数据库是面向事务的。当您发出 INSERT 语句时,数据修改不是永久性的,直至您发出 COMMIT 语句。利用 Amazon DynamoDB,当 DynamoDB 通过 HTTP 200 状态代码 (OK) 进行回复时,PutItem 操作的效果是永久性的。

注意

有关使用 PutItem 的代码示例,请参阅 DynamoDB 入门

以下是其他几个 PutItem 示例。

Copy
{ TableName: "Music", Item: { "Artist": "No One You Know", "SongTitle": "My Dog Spot", "AlbumTitle":"Hey Now", "Price": 1.98, "Genre": "Country", "CriticRating": 8.4 } }
Copy
{ TableName: "Music", Item: { "Artist": "No One You Know", "SongTitle": "Somewhere Down The Road", "AlbumTitle":"Somewhat Famous", "Genre": "Country", "CriticRating": 8.4, "Year": 1984 } }
Copy
{ TableName: "Music", Item: { "Artist": "The Acme Band", "SongTitle": "Still In Love", "AlbumTitle":"The Buck Starts Here", "Price": 2.47, "Genre": "Rock", "PromotionInfo": { "RadioStationsPlaying":[ "KHCR", "KBQX", "WTNR", "WJJH" ], "TourDates": { "Seattle": "20150625", "Cleveland": "20150630" }, "Rotation": "Heavy" } } }
Copy
{ TableName: "Music", Item: { "Artist": "The Acme Band", "SongTitle": "Look Out, World", "AlbumTitle":"The Buck Starts Here", "Price": 0.99, "Genre": "Rock" } }

注意

除了 PutItem 之外,Amazon DynamoDB 还支持同时写入多个项目的 BatchWriteItem 操作。

本页内容: