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', ['[email protected]','[email protected]'])
Обновление списка
Ниже приведен пример обновления списка типов данных в таблице с именем data . Здесь мы добавляем еще одно письмо в список.
cqlsh:tutorialspoint> UPDATE data ... SET email = email +['[email protected]'] ... where name = 'ramu';
верификация
Если вы проверите таблицу с помощью оператора SELECT, вы получите следующий результат —
cqlsh:tutorialspoint> SELECT * FROM data; name | email ------+-------------------------------------------------------------- ramu | ['[email protected]', '[email protected]', '[email protected]'] (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, вы получите следующий результат —