Cassandra - typy danych zdefiniowane przez użytkownika w języku CQL

CQL umożliwia tworzenie i używanie typów danych zdefiniowanych przez użytkownika. Możesz utworzyć typ danych do obsługi wielu pól. W tym rozdziale wyjaśniono, jak tworzyć, zmieniać i usuwać typ danych zdefiniowany przez użytkownika.

Tworzenie typu danych zdefiniowanego przez użytkownika

Komenda CREATE TYPEsłuży do tworzenia typu danych zdefiniowanego przez użytkownika. Jego składnia jest następująca -

CREATE TYPE <keyspace name>. <data typename>
( variable1, variable2).

Przykład

Poniżej podano przykład tworzenia typu danych zdefiniowanego przez użytkownika. W tym przykładzie tworzymy plikcard_details typ danych zawierający następujące szczegóły.

Pole Nazwa pola Typ danych
karta kredytowa nie num int
kod PIN karty kredytowej kołek int
Nazwa na karcie kredytowej Nazwa tekst
cvv cvv int
Dane kontaktowe posiadacza karty telefon zestaw
cqlsh:tutorialspoint> CREATE TYPE card_details (
   ... num int,
   ... pin int,
   ... name text,
   ... cvv int,
   ... phone set<int>
... );

Note - Nazwa używana dla typu danych zdefiniowanego przez użytkownika nie powinna pokrywać się z zastrzeżonymi nazwami typów.

Weryfikacja

Użyj DESCRIBE polecenie, aby sprawdzić, czy utworzony typ został utworzony, czy nie.

CREATE TYPE tutorialspoint.card_details (
   num int,
   pin int,
   name text,
   cvv int,
   phone set<int>
   );

Zmiana typu danych zdefiniowanego przez użytkownika

ALTER TYPE- polecenie służy do zmiany istniejącego typu danych. Używając ALTER, możesz dodać nowe pole lub zmienić nazwę istniejącego pola.

Dodawanie pola do typu

Użyj następującej składni, aby dodać nowe pole do istniejącego typu danych zdefiniowanego przez użytkownika.

ALTER TYPE typename
ADD field_name field_type;

Poniższy kod dodaje nowe pole do Card_detailstyp danych. Tutaj dodajemy nowe pole o nazwie email.

cqlsh:tutorialspoint> ALTER TYPE card_details ADD email text;

Weryfikacja

Użyj DESCRIBE polecenie, aby sprawdzić, czy nowe pole zostało dodane, czy nie.

cqlsh:tutorialspoint> describe type card_details;
CREATE TYPE tutorialspoint.card_details (
   num int,
   pin int,
   name text,
   cvv int,
   phone set<int>,
   );

Zmiana nazwy pola w typie

Użyj następującej składni, aby zmienić nazwę istniejącego typu danych zdefiniowanego przez użytkownika.

ALTER TYPE typename
RENAME existing_name TO new_name;

Poniższy kod zmienia nazwę pola w typie. Tutaj zmieniamy nazwę pola e-mail na mail.

cqlsh:tutorialspoint> ALTER TYPE card_details RENAME email TO mail;

Weryfikacja

Użyj DESCRIBE polecenie, aby sprawdzić, czy nazwa typu uległa zmianie, czy nie.

cqlsh:tutorialspoint> describe type card_details;
CREATE TYPE tutorialspoint.card_details (
   num int,
   pin int,
   name text,
   cvv int,
   phone set<int>,
   mail text
   );

Usuwanie typu danych zdefiniowanego przez użytkownika

DROP TYPEto polecenie używane do usuwania typu danych zdefiniowanego przez użytkownika. Poniżej podano przykład usuwania typu danych zdefiniowanego przez użytkownika.

Przykład

Przed usunięciem sprawdź listę wszystkich typów danych zdefiniowanych przez użytkownika za pomocą DESCRIBE_TYPES polecenie, jak pokazano poniżej.

cqlsh:tutorialspoint> DESCRIBE TYPES;
card_details card

Z dwóch typów usuń nazwany typ card jak pokazano niżej.

cqlsh:tutorialspoint> drop type card;

Użyj DESCRIBE polecenie, aby sprawdzić, czy typ danych został usunięty, czy nie.

cqlsh:tutorialspoint> describe types;

card_details