亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Amazon DynamoDB 入門8:刪除項(xiàng)目

douzifly / 2180人閱讀

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

上一篇介紹了DynamoDB 的更新,這一篇將會(huì)介紹項(xiàng)目刪除操作和dynamoab-py

從表中刪除數(shù)據(jù)

在 SQL 中,DELETE 語(yǔ)句從表中刪除一個(gè)或多個(gè)行。DynamoDB 使用 DeleteItem 操作一次刪除一個(gè)項(xiàng)目。

SQL

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

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

DELETE FROM Music WHERE Artist = "The Acme Band"

Note

如果省略 WHERE 子句,則數(shù)據(jù)庫(kù)會(huì)嘗試從表中刪除所有行。

DynamoDB

在 DynamoDB 中,可使用 DeleteItem 操作修改單個(gè)項(xiàng)目。

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

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

參數(shù)說明:

Key: 主鍵,用于定位項(xiàng)目

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

ConditionExpression:條件表達(dá)式(僅在特定 ConditionExpression 的計(jì)算結(jié)果為 true 時(shí)成功完成)

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

ExpressionAttributeValues:條件表達(dá)式的值

ReturnConsumedCapacity:顯示使用的寫入容量單位數(shù)

TOTAL 會(huì)返回由表及其所有g(shù)lobal secondary index占用的寫入容量;

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

NONE 表示您不需要返回任何占用容量統(tǒng)計(jì)數(shù)據(jù)。

ReturnValues: 更新后返回的數(shù)據(jù).

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

ALL_OLD - 按在進(jìn)行更新之前的情況,返回整個(gè)項(xiàng)目。

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...語(yǔ)法如下]

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 操作從表中刪除數(shù)據(jù)(一次刪除一個(gè)項(xiàng)目)。必須指定項(xiàng)目的主鍵值。示例如下:

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

除了 DeleteItem 之外,Amazon DynamoDB 還支持同時(shí)刪除多個(gè)項(xiàng)目的 BatchWriteItem 操作。

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

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

刪除操作就這么簡(jiǎn)單,下邊是福利時(shí)間。

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

dynamodb-py

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

表的操作
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()
查詢項(xiàng)目
# 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())
更新項(xiàng)目
item = Movies.get(year=year, title=title)

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

item.delete()

就是這么方便。

不過dynamodb-py 還在開發(fā)中,歡迎試用,也歡迎貢獻(xiàn)自己的力量。

終于,下一節(jié)介紹索引的查詢

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/17573.html

相關(guān)文章

  • Amazon DynamoDB 入門8刪除項(xiàng)目

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

    qiangdada 評(píng)論0 收藏0
  • Amazon DynamoDB 入門4:項(xiàng)目的基本操作(CRUD)

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

    zhigoo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<