將資料寫入資料表 - Amazon DynamoDB

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將資料寫入資料表

關聯式資料庫資料表含有資料的資料。資料列由所組成。Amazon DynamoDB 資料表包含項目。項目由屬性組成。

本節說明如何將一個資料列 (或項目) 寫入資料表。

將資料寫入 SQL 資料表

關聯式資料庫中的資料表為二維資料結構,由資料列和資料行組成。某些資料庫管理系統也支援半結構化資料,通常使用原生 JSON 或 XML 資料類型。但是,實作細節會因廠商而有所不同。

在 SQL 中,您會使用 INSERT 陳述式新增列至資料表。

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}' );

此表的主鍵由藝術家SongTitle. 您必須指定這些資料行的值。

注意

此範例使用 Tags 資料行存放 Music 資料表中歌曲的半結構化資料。Tags 資料行已定義為 TEXT 類型,可在 MySQL 中存放多達 65535 個字元。

將資料寫入 DynamoDB 中的資料表

在 Amazon DynamoDB 中,您可以使用 DynamoDB API 或 PartiQL (SQL 相容查詢語言) 將項目新增至資料表。

DynamoDB API

借助 DynamoDB API,您可以使用 PutItem 操作將項目新增至資料表。

{ 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 } } }

此表的主鍵由藝術家SongTitle. 您必須指定這些屬性的值。

以下為此 PutItem 範例的一些重要須知:

  • DynamoDB 會使用 JSON 提供文件的原生支援。這讓 DynamoDB 適合存放半結構化資料,例如 Tags。您也可以從 JSON 文件擷取及運用資料。

  • 音樂表沒有任何預先定義的屬性,除了主鍵 (演出者SongTitle)。

  • 多數 SQL 資料庫都以交易為導向。當您發出 INSERT 陳述式時,資料都不會永久修改,直到您發出 COMMIT 陳述式為止。若使用 Amazon DynamoDB,當 DynamoDB 以 HTTP 200 狀態代碼 (OK) 回覆時,PutItem 操作會永久生效。

注意

如需使用 PutItem 的程式碼範例,請參閱 開始使用 DynamoDB 和開發套件 AWS

下列是一些其他的 PutItem 範例。

{ TableName: "Music", Item: { "Artist": "No One You Know", "SongTitle": "My Dog Spot", "AlbumTitle":"Hey Now", "Price": 1.98, "Genre": "Country", "CriticRating": 8.4 } }
{ TableName: "Music", Item: { "Artist": "No One You Know", "SongTitle": "Somewhere Down The Road", "AlbumTitle":"Somewhat Famous", "Genre": "Country", "CriticRating": 8.4, "Year": 1984 } }
{ 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" } } }
{ TableName: "Music", Item: { "Artist": "The Acme Band", "SongTitle": "Look Out, World", "AlbumTitle":"The Buck Starts Here", "Price": 0.99, "Genre": "Rock" } }
注意

除了 PutItem 之外,DynamoDB 還支援 BatchWriteItem 操作,可讓您同時寫入多個項目。

PartiQL for DynamoDB

借助 PartiQL,您可以使用 PartiQL Insert 陳述式,使用 ExecuteStatement 操作將項目新增至資料表,

INSERT into Music value { 'Artist': 'No One You Know', 'SongTitle': 'Call Me Today', 'AlbumTitle': 'Somewhat Famous', 'Year' : '2015', 'Genre' : 'Acme' }

此表的主鍵由藝術家SongTitle. 您必須指定這些屬性的值。

注意

如需使用 InsertExecuteStatement 的程式碼範例,請參閱 適用於 DynamoDB 的 PartiQL Insert 陳述式