

# Tipos de dados de PartiQL para DynamoDB
<a name="ql-reference.data-types"></a>

A tabela a seguir lista os tipos de dados que você pode usar com a linguagem PartiQL para DynamoDB.


| Tipo de dados do DynamoDB | Representação em PartiQL | Observações | 
| --- | --- | --- | 
| Boolean | TRUE \| FALSE | Não diferencia maiúsculas de minúsculas. | 
| Binary | N/D | Suporte oferecido somente via código. | 
| List | [valor1, valor2,...] | Não há restrições quanto aos tipos de dados que podem ser armazenados em um tipo List, e os elementos em uma lista não precisam ser do mesmo tipo. | 
| Map | {'nome': valor} | Não há restrições quanto aos tipos de dados que podem ser armazenados em um tipo Map, e os elementos em um mapa não precisam ser do mesmo tipo. | 
| Null | NULL | Não diferencia maiúsculas de minúsculas. | 
| Number | 1, 1.0, 1e0  | Números podem ser positivos, negativo ou zero. Os números podem ter uma precisão de até 38 dígitos. | 
| Number Set | <<número1, número2>> | Os elementos em um conjunto de números devem ser do tipo Number. | 
| String Set | <<'string1', 'string2'>> | Os elementos em um conjunto de strings devem ser do tipo String. | 
| String | 'valor da string' | Valores de String devem ser especificados entre aspas simples. | 

## Exemplos
<a name="ql-reference.data-types"></a>

A instrução a seguir demonstra como inserir os seguintes tipos de dados: `String`, `Number`, `Map`, `List`, `Number Set` e `String Set`.

```
INSERT INTO TypesTable value {'primarykey':'1', 
'NumberType':1,
'MapType' : {'entryname1': 'value', 'entryname2': 4}, 
'ListType': [1,'stringval'], 
'NumberSetType':<<1,34,32,4.5>>, 
'StringSetType':<<'stringval','stringval2'>>
}
```

A instrução a seguir demonstra como inserir novos elementos nos tipos `Map`, `List`, `Number Set` e `String Set` e alterar o valor de um tipo `Number`.

```
UPDATE TypesTable 
SET NumberType=NumberType + 100 
SET MapType.NewMapEntry=[2020, 'stringvalue', 2.4]
SET ListType = LIST_APPEND(ListType, [4, <<'string1', 'string2'>>])
SET NumberSetType= SET_ADD(NumberSetType, <<345, 48.4>>)
SET StringSetType = SET_ADD(StringSetType, <<'stringsetvalue1', 'stringsetvalue2'>>)
WHERE primarykey='1'
```

A instrução a seguir demonstra como remover elementos dos tipos `Map`, `List`, `Number Set` e `String Set` e alterar o valor de um tipo `Number`.

```
UPDATE TypesTable 
SET NumberType=NumberType - 1
REMOVE ListType[1]
REMOVE MapType.NewMapEntry
SET NumberSetType = SET_DELETE( NumberSetType, <<345>>)
SET StringSetType = SET_DELETE( StringSetType, <<'stringsetvalue1'>>)
WHERE primarykey='1'
```

Para obter mais informações, consulte [Tipos de dados do DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes).