Cassandra - CQL Kullanıcı Tanımlı Veri Türleri

CQL, kullanıcı tanımlı veri türleri oluşturma ve kullanma olanağı sağlar. Birden çok alanı işlemek için bir veri türü oluşturabilirsiniz. Bu bölümde, kullanıcı tanımlı bir veri türünün nasıl oluşturulacağı, değiştirileceği ve silineceği açıklanmaktadır.

Kullanıcı Tanımlı Veri Türü Oluşturma

Komuta CREATE TYPEkullanıcı tanımlı bir veri türü oluşturmak için kullanılır. Sözdizimi aşağıdaki gibidir -

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

Misal

Aşağıda, kullanıcı tanımlı bir veri türü oluşturmak için bir örnek verilmiştir. Bu örnekte, bircard_details aşağıdaki ayrıntıları içeren veri türü.

Alan Alan adı Veri tipi
Kredi Kartı Numarası num int
kredi kartı şifresi toplu iğne int
kredi kartı üzerindeki isim isim Metin
cvv cvv int
Kart sahibinin iletişim bilgileri telefon Ayarlamak
cqlsh:tutorialspoint> CREATE TYPE card_details (
   ... num int,
   ... pin int,
   ... name text,
   ... cvv int,
   ... phone set<int>
... );

Note - Kullanıcı tanımlı veri türü için kullanılan ad, ayrılmış tür adlarıyla çakışmamalıdır.

Doğrulama

Kullan DESCRIBE Oluşturulan türün oluşturulup oluşturulmadığını doğrulamak için komut.

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

Kullanıcı Tanımlı Veri Türünü Değiştirme

ALTER TYPE- komut, mevcut bir veri türünü değiştirmek için kullanılır. ALTER kullanarak yeni bir alan ekleyebilir veya mevcut bir alanı yeniden adlandırabilirsiniz.

Bir Türe Alan Ekleme

Mevcut bir kullanıcı tanımlı veri türüne yeni bir alan eklemek için aşağıdaki sözdizimini kullanın.

ALTER TYPE typename
ADD field_name field_type;

Aşağıdaki kod, yeni bir alan ekler. Card_detailsveri tipi. Burada e-posta adında yeni bir alan ekliyoruz.

cqlsh:tutorialspoint> ALTER TYPE card_details ADD email text;

Doğrulama

Kullan DESCRIBE yeni alanın eklenip eklenmediğini doğrulamak için komut.

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

Bir Türdeki Alanı Yeniden Adlandırma

Mevcut bir kullanıcı tanımlı veri türünü yeniden adlandırmak için aşağıdaki sözdizimini kullanın.

ALTER TYPE typename
RENAME existing_name TO new_name;

Aşağıdaki kod, bir türdeki alanın adını değiştirir. Burada alan e-postasını posta olarak yeniden adlandırıyoruz.

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

Doğrulama

Kullan DESCRIBE tür adının değişip değişmediğini doğrulamak için komut.

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

Kullanıcı Tanımlı Veri Türünü Silme

DROP TYPEkullanıcı tanımlı bir veri türünü silmek için kullanılan komuttur. Aşağıda, kullanıcı tanımlı bir veri türünü silmek için bir örnek verilmiştir.

Misal

Silmeden önce, tüm kullanıcı tanımlı veri türlerinin listesini kullanarak doğrulayın. DESCRIBE_TYPES komutu aşağıda gösterildiği gibi.

cqlsh:tutorialspoint> DESCRIBE TYPES;
card_details card

İki türden, adlı türü silin card Aşağıda gösterildiği gibi.

cqlsh:tutorialspoint> drop type card;

Kullan DESCRIBE veri türünün düşüp düşmediğini doğrulamak için komut.

cqlsh:tutorialspoint> describe types;

card_details