Учебники

Кассандра — CQL Коллекции

CQL предоставляет возможность использования типов данных Collection. Используя эти типы коллекций, вы можете хранить несколько значений в одной переменной. Эта глава объясняет, как использовать Коллекции в Кассандре.

Список

Список используется в тех случаях, когда

  • порядок элементов должен быть сохранен, и
  • значение должно храниться несколько раз.

Вы можете получить значения типа данных списка, используя индекс элементов в списке.

Создание таблицы со списком

Ниже приведен пример создания таблицы с двумя столбцами: name и email. Для хранения нескольких электронных писем мы используем список.

cqlsh:tutorialspoint> CREATE TABLE data(name text PRIMARY KEY, email list<text>);

Вставка данных в список

Вставляя данные в элементы списка, введите все значения, разделенные запятой в квадратных скобках [], как показано ниже.

cqlsh:tutorialspoint> INSERT INTO data(name, email) VALUES ('ramu',
['abc@gmail.com','cba@yahoo.com'])

Обновление списка

Ниже приведен пример обновления списка типов данных в таблице с именем data . Здесь мы добавляем еще одно письмо в список.

cqlsh:tutorialspoint> UPDATE data
... SET email = email +['xyz@tutorialspoint.com']
... where name = 'ramu';

верификация

Если вы проверите таблицу с помощью оператора SELECT, вы получите следующий результат —

cqlsh:tutorialspoint> SELECT * FROM data;

 name | email
------+--------------------------------------------------------------
 ramu | ['abc@gmail.com', 'cba@yahoo.com', 'xyz@tutorialspoint.com']

(1 rows)

ЗАДАВАТЬ

Set — это тип данных, который используется для хранения группы элементов. Элементы набора будут возвращены в отсортированном порядке.

Создание таблицы с множеством

В следующем примере создается образец таблицы с двумя столбцами: name и phone. Для хранения нескольких телефонных номеров мы используем set.

cqlsh:tutorialspoint> CREATE TABLE data2 (name text PRIMARY KEY, phone set<varint>);

Вставка данных в набор

Вставляя данные в элементы набора, введите все значения, разделенные запятой в фигурных скобках {}, как показано ниже.

cqlsh:tutorialspoint> INSERT INTO data2(name, phone)VALUES ('rahman',    {9848022338,9848022339});

Обновление набора

Следующий код показывает, как обновить набор в таблице с именем data2. Здесь мы добавляем еще один номер телефона для набора.

cqlsh:tutorialspoint> UPDATE data2
   ... SET phone = phone + {9848022330}
   ... where name = 'rahman';

верификация

Если вы проверите таблицу с помощью оператора SELECT, вы получите следующий результат —

cqlsh:tutorialspoint> SELECT * FROM data2;

   name | phone
--------+--------------------------------------
 rahman | {9848022330, 9848022338, 9848022339}

(1 rows)

КАРТА

Карта — это тип данных, который используется для хранения пары элементов ключ-значение.

Создание таблицы с картой

В следующем примере показано, как создать образец таблицы с двумя столбцами, именем и адресом. Для хранения нескольких значений адресов мы используем карту.

cqlsh:tutorialspoint> CREATE TABLE data3 (name text PRIMARY KEY, address
map<timestamp, text>);

Вставка данных в карту

Вставляя данные в элементы на карте, введите все пары ключ: значение, разделенные запятой в фигурных скобках {}, как показано ниже.

cqlsh:tutorialspoint> INSERT INTO data3 (name, address)
   VALUES ('robin', {'home' : 'hyderabad' , 'office' : 'Delhi' } );

Обновление набора

Следующий код показывает, как обновить тип данных карты в таблице с именем data3. Здесь мы меняем значение ключевого офиса, то есть мы меняем адрес офиса человека по имени Робин.

cqlsh:tutorialspoint> UPDATE data3
   ... SET address = address+{'office':'mumbai'}
   ... WHERE name = 'robin';

верификация

Если вы проверите таблицу с помощью оператора SELECT, вы получите следующий результат —