Mysql Bigint Punkty liczbowe

Mysql Bigint Punkty liczbowe
W tym artykule koncentruje się na typu danych Bigint MySQL i analizuje się, w jaki sposób możemy go używać do przechowywania wartości liczb całkowitych. Nauczymy się również jego zasięg, wielkość pamięci i różnych atrybutów, w tym podpisane, niepodpisane i zerowe wypełnienie.

Mysql Bigint

Bigint to bajt lub 64 bity wartości całkowitej i jest bardzo przydatne w przechowywaniu ogromnych wartości całkowitych.

MySQL Bigint, jak każdy inny typ danych mysql, można podpisać lub niepodpisaną. Podpisany typ danych wskazuje, że kolumna może przechowywać zarówno dodatnie, jak i ujemne wartości całkowitej. Jest to domyślny typ dla większości typów liczb całkowitych w MySQL. Stąd, chyba że wyraźnie określono, każda kolumna typu liczb całkowitych może przechowywać zarówno liczby całkowite, jak i negatywne.

Z drugiej strony, niepodpisany typ danych wskazuje, że kolumna może przechowywać tylko dodatnie wartości liczb całkowitych.

Zakres podpisanego typu MySQL Bigint wynosi od -9223372036854775808 i 9223372036854775807

W przypadku niepodpisanego typu bigint wartość waha się od 0 do 18446744073709551615.

Drugim atrybutem typu bigint jest zerofila. Z tym atrybutem określonym w kolumnie kolumna jest automatycznie ustawiona na unsigned.

Atrybut zerofilia wypełnia również przestrzenie zerami.

Przykłady

Spójrzmy na kilka przykładów, aby zilustrować, jak korzystać z typu Bigint.

Utwórz bazę danych, jeśli nie istnieje liczby całkowite;
Użyj liczb całkowitych;

Następnie utwórzmy tabelę i wypełnij ją różnymi kolumnami bigint, jak pokazano w pytaniu poniżej:

Utwórz przykłady tabeli (X Bigint Not Null Auto_Increment Key, y Bigint unsigned, Z Bigint ZeroFill);

Przykład 1
Najpierw spróbujmy dodać wszystkie dodatnie wartości do tabeli:

Wstaw do przykładów (x, y, z) wartości (1,2,3);

W powyższym przykładowym zapytaniu wartości są dopuszczalne, ponieważ są w zakresie podpisanych, niepodpisanych i zerowych typów bigint.

Wybierz * z przykładów;
+---+------+----------------------+
|. x | y | Z |
+---+------+----------------------+
|. 1 | 2 | 00000000000000000003 |
+---+------+----------------------+
1 rząd ustawić (0.01 s)

Przykład 2
W następnym przypadku spróbujmy dodać wszystkie wartości ujemne. Przykładowe zapytanie znajduje się poniżej:

Wstaw do przykładów (x, y, z) wartości (-1, -2, -3);
Błąd 1264 (22003): nie ma wartości dla kolumny „y” w wierszu 1

W takim przypadku zapytanie kończy się niepowodzeniem, ponieważ kolumna y jest niepodpisana. Stąd przypisanie wartości ujemnej do kolumny jest poza zakresem kolumny.

Przykład 3
Możemy zaobserwować podobny przypadek jak powyżej dla trzeciej kolumny. Atrybut zerofilia automatycznie powoduje, że kolumna jest ungagowana, dzięki czemu dodanie wartości ujemnej jest poza zasięgiem. Przykładem jest:

Wstaw do przykładów (x, y, z) wartości (-1,2, -3);
Błąd 1264 (22003): nie ma wartości dla kolumny „Z” w wierszu 1

Przykład 4
Spróbujmy teraz dodać maksymalne wartości dla każdego typu. Przykładowe zapytanie brzmi:

Wstaw do przykładów (x, y, z) wartości (-9223372036854775808, 9223372036854775808, 92233772036854775808);

W powyższym przykładzie, ponieważ wszystkie wartości znajdują się w zakresie, zapytanie wykonuje się pomyślnie.

Rozważ pytanie poniżej:

Wstaw do przykładów (x, y, z) wartości (9223372036854775807, 9223372036854775808, 9223372036854775808);

Zauważysz, że wszystkie wartości mają maksymalne wartości. Ponieważ kolumna x jest ustawiona na auto_increment, dodanie do niej wartości ulegnie awarii.

Wstaw do przykładów (y, z) wartości (9223372036854775808, 9223372036854775808);
Błąd 1062 (23000): duplikat wpisu „9223372036854775807” dla kluczowych przykładów.PODSTAWOWY'

Jeśli jednak tryb ścisłego jest wyłączony w MySQL, możesz wstawić wartości poza zasięgiem.

Wybierz * z przykładów;

Wniosek

W tym samouczku omówiliśmy typ Binint MySQL i zakresy jego różnych atrybutów.