---
title: "FROZEN data type"
url: "https://docs.yugabyte.com/stable/api/ycql/type_frozen/"
---

# FROZEN data type

Use the FROZEN data type to specify columns of binary strings that result from serializing collections, tuples, or user-defined types.

## Synopsis

Use the `FROZEN` data type to specify columns of binary strings that result from serializing collections, tuples, or user-defined types.

## Syntax

```
type_specification ::= FROZEN<type>
```

Where

- `type` is a well-formed YCQL data type (additional restrictions for `type` are covered in the Semantics section below).

## Semantics

- Columns of type `FROZEN` can be part of the `PRIMARY KEY`.
- Type parameters of `FROZEN` type must be either [collection types](/stable/api/ycql/type_collection "collection types") (`LIST`, `MAP`, or `SET`) or [user-defined types](/stable/api/ycql/ddl_create_type "user-defined types").
- `FROZEN` types can be parameters of collection types.
- For any valid frozen type parameter `type`, values of `type` are convertible into `FROZEN<type>`.

## Examples

```sql
ycqlsh:example> CREATE TABLE directory(file FROZEN<LIST<TEXT>> PRIMARY KEY, value BLOB);
```

```sql
ycqlsh:example> INSERT INTO directory(file, value) VALUES([ 'home', 'documents', 'homework.doc' ], 0x);
```

```sql
ycqlsh:example> INSERT INTO directory(file, value) VALUES([ 'home', 'downloads', 'textbook.pdf' ], 0x12ab21ef);
```

```sql
ycqlsh:example> UPDATE directory SET value = 0xab00ff WHERE file = [ 'home', 'documents', 'homework.doc' ];
```

```sql
ycqlsh:example> SELECT * FROM directory;
```

```
 file                                  | value
---------------------------------------+------------
 ['home', 'downloads', 'textbook.pdf'] | 0x12ab21ef
 ['home', 'documents', 'homework.doc'] |   0xab00ff
```

## See also

- [Data Types](/stable/api/ycql#data-types "Data Types")
