国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Amazon DynamoDB 入門8:刪除項目

qiangdada / 1596人閱讀

摘要:使用操作一次刪除一個項目。在中,可使用語句刪除一個或多個行。子句確定要修改的行。必須指定項目的主鍵值。示例如下除了之外,還支持同時刪除多個項目的操作。支持條件寫入,在此情況下,操作僅在特定的計算結果為時成功完成。

上一篇介紹了DynamoDB 的更新,這一篇將會介紹項目刪除操作和dynamoab-py

從表中刪除數據

在 SQL 中,DELETE 語句從表中刪除一個或多個行。DynamoDB 使用 DeleteItem 操作一次刪除一個項目。

SQL

在 SQL 中,可使用 DELETE 語句刪除一個或多個行。WHERE 子句確定要修改的行。示例如下:

DELETE FROM Music
WHERE Artist = "The Acme Band" AND SongTitle = "Look Out, World";
我們可以修改 WHERE 子句以刪除多個行。例如,刪除某個特殊藝術家的所有歌曲,如下所示:

DELETE FROM Music WHERE Artist = "The Acme Band"

Note

如果省略 WHERE 子句,則數據庫會嘗試從表中刪除所有行。

DynamoDB

在 DynamoDB 中,可使用 DeleteItem 操作修改單個項目。

(http://docs.aws.amazon.com/zh... 語法如下]:

{
   "ConditionExpression": "string",
   "ExpressionAttributeNames": {
      "string" : "string"
   },
   "ExpressionAttributeValues": {
      "string" : {
         "B": blob,
         "BOOL": boolean,
         "BS": [ blob ],
         "L": [
            "AttributeValue"
         ],
         "M": {
            "string" : "AttributeValue"
         },
         "N": "string",
         "NS": [ "string" ],
         "NULL": boolean,
         "S": "string",
         "SS": [ "string" ]
      }
   },
   "Key": {
      "string" : {
         "B": blob,
         "BOOL": boolean,
         "BS": [ blob ],
         "L": [
            "AttributeValue"
         ],
         "M": {
            "string" : "AttributeValue"
         },
         "N": "string",
         "NS": [ "string" ],
         "NULL": boolean,
         "S": "string",
         "SS": [ "string" ]
      }
   },
   "ReturnConsumedCapacity": "string",
   "ReturnItemCollectionMetrics": "string",
   "ReturnValues": "string",
   "TableName": "string"
}

參數說明:

Key: 主鍵,用于定位項目

TableName:表名 (最小 3. 最大 255)

ConditionExpression:條件表達式(僅在特定 ConditionExpression 的計算結果為 true 時成功完成)

ExpressionAttributeNames:條件表達式的名稱的別名,比如 date 為保留字,可用別名定義為 #d

ExpressionAttributeValues:條件表達式的值

ReturnConsumedCapacity:顯示使用的寫入容量單位數

TOTAL 會返回由表及其所有global secondary index占用的寫入容量;

INDEXES 僅返回由global secondary index占用的寫入容量;

NONE 表示您不需要返回任何占用容量統計數據。

ReturnValues: 更新后返回的數據.

NONE - 如果沒有特別說明,返回None (這個是默認值)

ALL_OLD - 按在進行更新之前的情況,返回整個項目。

ReturnItemCollectionMetrics: Determines whether item collection metrics are returned. If set to SIZE , the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to NONE (the default), no statistics are returned.

(http://boto3.readthedocs.io/e...語法如下]

response = table.delete_item(
    Key={
        "string": "string"|123|Binary(b"bytes")|True|None|set(["string"])|set([123])|set([Binary(b"bytes")])|[]|{}
    },
    ConditionalOperator="AND"|"OR",
    ReturnValues="NONE"|"ALL_OLD"|"UPDATED_OLD"|"ALL_NEW"|"UPDATED_NEW",
    ReturnConsumedCapacity="INDEXES"|"TOTAL"|"NONE",
    ReturnItemCollectionMetrics="SIZE"|"NONE",
    ConditionExpression=Attr("myattribute").eq("myvalue"),
    ExpressionAttributeNames={
        "string": "string"
    },
    ExpressionAttributeValues={
        "string": "string"|123|Binary(b"bytes")|True|None|set(["string"])|set([123])|set([Binary(b"bytes")])|[]|{}
    }
)

在 DynamoDB 中,可使用 DeleteItem 操作從表中刪除數據(一次刪除一個項目)。必須指定項目的主鍵值。示例如下:

{
    TableName: "Music",
    Key: {
        Artist: "The Acme Band",
        SongTitle: "Look Out, World"
    }
}
Note

除了 DeleteItem 之外,Amazon DynamoDB 還支持同時刪除多個項目的 BatchWriteItem 操作。

DeleteItem 支持條件寫入,在此情況下,操作僅在特定 ConditionExpression 的計算結果為 true 時成功完成。例如,以下 DeleteItem 操作僅在項目具有 RecordLabel 屬性時刪除項目:

{
    TableName: "Music",
    Key: {
        Artist: "The Acme Band",
        SongTitle: "Look Out, World"
    },
   ConditionExpression: "attribute_exists(RecordLabel)"
}

刪除操作就這么簡單,下邊是福利時間。

是不是每次用boto3 操作DynamoDB 都有種痛不欲生的感覺,下邊我們介紹一個新工具。

dynamodb-py

dynamodb-py 是模仿sqlalchemy 編寫的DynamoDB ORM 它的使用方法特別簡單,下邊來看幾個示例:

表的操作
from dynamodb.model import Model
from dynamodb.fields import CharField, IntegerField, FloatField, DictField
from dynamodb.table import Table

class Movies(Model):

    __table_name__ = "Movies"

    ReadCapacityUnits = 10
    WriteCapacityUnits = 10

    year = IntegerField(name="year", hash_key=True)
    title = CharField(name="title", range_key=True)
    rating = FloatField(name="rating", indexed=True)
    rank = IntegerField(name="rank", indexed=True)
    release_date = CharField(name="release_date")
    info = DictField(name="info", default={})

# create_table
Table(Movies()).create()

# update_table
Table(Movies()).update()

# delete_table
Table(Movies()).delete()
查詢項目
# query without index
items = Movies.query().where(Movies.year.eq(year)).all()
items = Movies.query().where(Movies.year.eq(1985)).limit(10).all()
items = (Movies.query()
        .where(Movies.year.eq(1992),
               Movies.title.between("A", "L"))
        .all())

# query with index
items = (Movies.query()
        .where(Movies.year.eq(1992),
               Movies.title.between("A", "L"))
        .order_by(Movies.rating, asc=False)
        .all())
更新項目
item = Movies.get(year=year, title=title)

item.update(rank=2467, rating=7.1)
刪除項目
item = Movies.get(year=year, title=title)

item.delete()

就是這么方便。

不過dynamodb-py 還在開發中,歡迎試用,也歡迎貢獻自己的力量。

終于,下一節介紹索引的查詢

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/38519.html

相關文章

  • Amazon DynamoDB 入門8刪除項目

    摘要:使用操作一次刪除一個項目。在中,可使用語句刪除一個或多個行。子句確定要修改的行。必須指定項目的主鍵值。示例如下除了之外,還支持同時刪除多個項目的操作。支持條件寫入,在此情況下,操作僅在特定的計算結果為時成功完成。 上一篇介紹了DynamoDB 的更新,這一篇將會介紹項目刪除操作和dynamoab-py 從表中刪除數據 在 SQL 中,DELETE 語句從表中刪除一個或多個行。Dynam...

    douzifly 評論0 收藏0
  • Amazon DynamoDB 入門4:項目的基本操作(CRUD)

    摘要:使用項目的主鍵讀取項目提供操作來按項目的主鍵檢索項目。默認情況下,將返回整個項目及其所有屬性。您必須指定項目的主鍵值。示例如下除了之外,還支持同時刪除多個項目的操作。支持條件寫入,在此情況下,操作僅在特定的計算結果為時成功完成。 上一節我們介紹了DynamoDB 表的操作,這一節將介紹項目的添加 修改 獲取 刪除操作。 創建項目 Amazon DynamoDB 提供了 PutItem ...

    zhigoo 評論0 收藏0

發表評論

0條評論

qiangdada

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<