Mysql Enum Typ danych

Mysql Enum Typ danych
Wiele typów danych istnieje w MySQL, aby przechowywać różne dane w tabeli bazy danych. Typ danych enum jest jednym z nich. Pełna forma enum jest wyliczenie. Gdy jest konieczne wstawienie dowolnej konkretnej wartości z listy predefiniowanych wartości do pola tabeli, używany jest typ danych wyliczania. Lista wartości jest przechowywana jako ciąg pola enum, a liczba wybranych wartości z wartości listy zostanie wstawiona do pola enum w czasie wkładki lub aktualizacji. Po pobraniu pola wyliczenia z tabeli pokaże wartość od liczby do formatu czytelnego człowieka. Zastosowania typu danych enum w MySQL zostały pokazane w tym samouczku.

Składnia:

Składnia typu danych enum podano poniżej.

Utwórz Tabela Table_name (

enum_field enum („val1”, „val2”,…, „valn”),

);

Maksymalnie 65 535 wartości można zdefiniować jako wartości enum.

Atrybuty enum:

Enum Typ danych ma trzy atrybuty. Są one opisane poniżej.

DOMYŚLNY

Domyślna wartość typu danych wyliczania jest null. Jeśli nie zostanie podana wartość dla pola enum, wówczas wartość zerowa zostanie wstawiona.

ZERO

Działa tak samo jak wartość domyślna, jeśli ten atrybut jest ustawiony dla pola enum.

NIE JEST ZEREM

Komunikat ostrzegawczy pojawi się, jeśli ten atrybut zostanie ustawiony dla pola enum i żadna wartość nie jest dostarczana w czasie wstawienia.

Sprawdzanie zastosowań typu danych enum:

Musisz utworzyć tabelę z typem danych enum w bazie danych MySQL, aby sprawdzić użycie typu danych enum. Otwórz terminal i połącz się z serwerem MySQL, wykonując następujące polecenie.

$ sudo mysql -u root

Uruchom następujące polecenie, aby utworzyć nazwaną bazę danych test_db.

Utwórz bazę danych test_db;

Uruchom następujące polecenie, aby wybrać bazę danych.

Użyj test_db;

Uruchom następujące zapytanie, aby utworzyć tabelę o nazwie Książka z pięcioma polami. Rodzaj danych typ Pole tej tabeli to enum, która będzie przechowywać jedną z trzech wartości (inżynieria, medyczne i biznesowe).

Utwórz książkę stołową (
Id int not null auto_increment klucz podstawowy,
Nazwa varchar (50) nie null,
Typ Enum („Engineering”, „Medical”, „Business”),
Autor Varchar (50) nie null,
Float Cena (5,2) nie null
) Silnik = innodb;

Uruchom następujące polecenie, aby sprawdzić strukturę Książka tabela.

Opisz książkę;

Wyjście:

Po wykonaniu powyższego polecenia pojawi się następujące dane wyjściowe.

Wstaw prawidłowe dane do tabeli:

Uruchom następujące zapytanie, aby wstawić trzy rekordy do Książka tabela. Wartości „Inżynieria,„ medyczne ”i„ biznesowe ”w polu enum tabeli, która jest ważnymi wartościami wyliczającymi. Zatem zapytanie zostanie wykonane bez żadnego błędu.

Wstaw do „książki” („id”, „nazwa”, „typ”, „autor”, „cena”)
(Null, „teoria maszyn”, „inżynieria”, „j.K. Gupta i r.S. Khurmi ', 59.99),
(Null, „Pocket Medicine”, „Medical”, „Marc S Sabatine”, 45.80),
(Null, „Zasady marketingu”, „Business”, „Gary Armstrong i Philip Kotler”, 60.00);

Odczytaj dane z tabeli:

Po wykonaniu zapytania Wstaw, uruchom następujące zapytanie Wybierz, aby sprawdzić zawartość Książka tabela.

Wybierz * z „książki”;

Wyjście:

Po wykonaniu powyższego polecenia pojawi się następujące dane wyjściowe.

Włóż nieprawidłowe dane do tabeli:

Zapytanie wstawki wygeneruje błąd, jeśli wartość, która nie istnieje na liście enum, zostanie wypróbowana wstaw. W następującym zapytaniu wstawki wartość „BBA” jest ustawiona dla pola enum (typ), ale nie pasuje do żadnego z elementów enum zdefiniowanych w momencie tworzenia tabeli. Zatem następujące zapytanie wstawki wygeneruje błąd po wykonaniu.

Wstaw do „książki” („id”, „nazwa”, „typ”, „autor”, „cena”)
(Null, „Business Communication Essentials”, „BBA”, „Courtland L Bovee and John Thill”, 59.99);

Wyjście:

Po wykonaniu powyższego polecenia pojawi się następujące dane wyjściowe. Tutaj, błąd nie 1265 został wygenerowany i żaden nowy rekord nie zostanie włożony.

Dane filtrujące z tabeli oparte na liczbowej wartości enum:

Wartość ciągu jest używana w momencie wkładania danych do pola wyliczenia tabeli, ale wstawowane rekordy tabeli można pobrać na podstawie indeksu numerycznego lub wartości ciągu pola enum. Użycie indeksu numerycznego wartości enum do filtrowania danych z Książka Tabela została pokazana w poniższym zapytaniu. Indeks numeryczny 2 pola wyliczenia zawiera wartość „medyczne.„Tak więc rekordy zawierające wartość 'Medyczny' w polu typu Książka Tabela pojawi się na wyjściu. W tabeli jest tylko jeden rekord, który pasuje do kryteriów.

Wybierz identyfikator, nazwę, typ, autor, cena z książki, gdzie typ = 2;

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego zapytania.

Filtrowe dane z tabeli w oparciu o wartość enum czytelną człowieka:

Nie jest łatwiej zapamiętać indeks liczbowy każdej wartości elementu enum, jeśli pole enum zawiera listę dużej liczby elementów. W takim przypadku lepiej jest użyć wartości ciągu elementu wyliczenia w zapytaniu do pobierania rekordów na podstawie wartości pola enum. Poniższe zapytanie wybierz filtrowanie rekordów, w których pole typu zawiera wartość „Business.„Zgodnie z danymi tabeli książek jest tylko jeden dopasowany rekord z typ wartość, „biznes.'

Wybierz identyfikator, nazwę, typ, autor, cena z książki, gdzie type = „Business”;

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego zapytania.

Wniosek:

Enum jest korzystnym rodzajem danych MySQL. Wstawienie nieprawidłowych danych można zapobiec za pomocą tego typu danych. Sposób deklarowania i wstawienia danych do pola enum oraz sposób pobierania danych na podstawie pola enum pokazano w tym samouczku za pomocą przykładów.