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