TYPY DANYCH W MySQL.

www.mysqlfaq.prv.pl

TYPY LICZBOWE.

T I N Y I N T [ ( M ) ]

Znaczenie:

Bardzo mała liczba całkowita

Dozwolone atrybuty:

AUTO_INCREMENT, UNSIGNED, ZEROFILL

Zakres:

-128 do 127 lub 0 do 255, jeśli UNSIGNED

Wartość domyślna:

NULL, jeśli pole może być NULL, 0 jeśli NOT NULL

Wymagana pamięć:

1 bajt

S M A L L I N T [ ( M ) ]

Znaczenie:

Mała liczba całkowita

Dozwolone atrybuty:

AUTO_INCREMENT, UNSIGNED, ZEROFILL

Zakres:

-32768 do 32767 lub 0 do 65535, jeśli UNSIGNED

Wartość domyślna:

NULL, jeśli pole może być NULL, 0 jeśli NOT NULL

Wymagana pamięć:

2 bajt

M E D I U M I N T [ ( M ) ]

Znaczenie:

Liczba całkowita średniej wielkości

Dozwolone atrybuty:

AUTO_INCREMENT, UNSIGNED, ZEROFILL

Zakres:

-8388608 do 8388607 lub 0 do 16777215, jeśli UNSIGNED

Wartość domyślna:

NULL, jeśli pole może być NULL, 0 jeśli NOT NULL

Wymagana pamięć:

3 bajt

I N T [ ( M ) ]

Znaczenie:

Liczba całkowita normalnej wielkości

Dozwolone atrybuty: AUTO_INCREMENT, UNSIGNED, ZEROFILL

Zakres:

-2147483648 do 2147483647 lub 0 do 4294967295, jeśli UNSIGNED

Wartość domyślna: NULL, jeśli pole może być NULL, 0 jeśli NOT NULL

Wymagana pamięć: 4 bajt

B I G I N T [ ( M ) ]

Znaczenie:

Duża liczba całkowita

Dozwolone atrybuty:

AUTO_INCREMENT, UNSIGNED, ZEROFILL

-9223372036854775808 do 9223372036854775807 lub 0 do

Zakres:

18446744073709551615, jeśli UNSIGNED

Wartość domyślna:

NULL, jeśli pole może być NULL, 0 jeśli NOT NULL

Wymagana pamięć:

8 bajt

F L O A T [ ( M , D ) ]

Mała liczba zmiennoprzecinkowa; pojedyncza precyzja (mniej dokładna niż Znaczenie:

DOUBLE)

Dozwolone atrybuty:

ZEROFILL

Minimalne wartości niezerowe to +/- 1.175494351E-38; maksymalne Zakres:

wartości niezerowe to +/- 3.402823466E+38

Wartość domyślna:

NULL, jeśli pole może być NULL, 0 jeśli NOT NULL

Wymagana pamięć:

4 bajt

D O U B L E [ ( M , D ) ]

Duża liczba zmiennoprzecinkowa; podwójna precyzja (bardziej dokładna niż Znaczenie:

FLOAT)

Dozwolone atrybuty:

ZEROFILL

Minimalne wartości niezerowe to +/- 2.2250738585072014E-308; Zakres:

maksymalne wartości niezerowe to +/- 1.7976931348623157E+308

Wartość domyślna:

NULL, jeśli pole może być NULL, 0 jeśli NOT NULL

Wymagana pamięć:

8 bajt

D E C I M A L [ ( M , D ) ]

Znaczenie:

Liczba zmiennoprzecinkowa; przechowywana jako łańcuch

Dozwolone atrybuty:

ZEROFILL

Maksymalny zakres taki sam jak dla DOUBLE; efektywny zakres dla Zakres:

danego typu DECIMAL określony jest przez M i D. Jeśli D jest 0, wartości w polu nie mają przecinka dziesiętnego ani części ułamkowej Wartość domyślna:

NULL, jeśli pole może być NULL, 0 jeśli NOT NULL

M dla wersji MySQL wcześniejszych niż 3.23, M+2 bajty dla MySQL w Wymagana pamięć:

wersji 3.23 i nowszych

M - maksymalna szerokość wyświetlania; jeśli nie podano inaczej, M powinno być liczbą całkowitą z przedziału 1 - 255.

D - liczba cyfr po przecinku dla typów, które mają część ułamkową; D powinno być liczbą całkowitą od 0 do 30. D nie może być również większe niż M-2. W przeciwnym przypadku wartość M jest modyfikowana tak, że by była równa D+2.

TYPY ŁAŃCUCHOWE.

Typy łańcuchowe w MySQL służą do przechowywania tekstu, ale mogą także zawierać dane dowolnego typu. Istnieją typy do przechowywania wartości o zmiennej maksymalnej długości, można również określić, czy mają być rozróżniane wielkie i małe litery.

C H A R ( M )

Łańcuch znaków o ustalonej długości od 0 do M. Gdzie M powinno być liczbą całkowitą od 0 do 255. Łańcuchy krótsze od M znaków są przechowywane w postaci Znaczenie:

uzupełnionej spacjami z prawej strony. Łańcuchy dłuższe niż M są obcinane do długości M. Przy odczytywaniu wartości końcowej spacje są usuwane.

Dozwolone

atrybuty:

BINARY.

Zakres:

0 do M bajtów.

Wartość

domyślna:

NULL, jeśli pole może być NULL,"" jeśli NOT NULL.

Wymagana

pamięć:

M bajtów.

Porównania:

Bez rozróżniania małych i wielkich liter.

V A R C H A R ( M )

Łańcuch znaków o zmiennej długości od 0 do M bajtów. M powinno być liczbą Znaczenie:

całkowitą od 0 do 255. Łańcuchy dłuższe niż M są obcinane do długości M. Przy odczytywaniu wartości końcowej spacje są usuwane.

Dozwolone atrybuty: BINARY.

Zakres:

0 do M bajtów.

Wartość domyślna: NULL, jeśli pole może być NULL, "" jeśli NOT NULL.

Wymagana pamięć: Długość wartości plus 1 bajt na przechowanie długości.

Porównania:

Bez rozróżniania małych i wielkich liter.

T I N Y B L O B

Znaczenie:

Mała wartość BLOB.

Dozwolone atrybuty: Tylko atrybuty globalne.

Zakres:

0 do 255 bajtów.

Wartość domyślna: NULL, jeśli pole może być NULL, "" jeśli NOT NULL.

Wymagana pamięć: Długość wartości plus 1 bajt na przechowanie długości.

Porównania:

Rozróżnianie małych i wielkich liter.

B L O B

Znaczenie:

Wartość BLOB normalnej wielkości.

Dozwolone atrybuty: Tylko atrybuty globalne.

Zakres:

0 do 65535 bajtów.

Wartość domyślna: NULL, jeśli pole może być NULL, 0 jeśli NOT NULL.

Wymagana pamięć: Długość wartości plus 2 bajt na przechowanie długości.

Porównania:

Rozróżnianie małych i wielkich liter.

M E D I U M B L O B

Znaczenie:

Wartość BLOB średniej wielkości.

Dozwolone atrybuty: Tylko atrybuty globalne.

Zakres:

0 do 16777215 bajtów.

Wartość domyślna:

NULL, jeśli pole może być NULL, "" jeśli NOT NULL.

Wymagana pamięć: Długość wartości plus 3 bajt na przechowanie długości.

Porównania:

Rozróżnianie małych i wielkich liter.

L O N G B L O B

Znaczenie:

Duża wartość BLOB.

Dozwolone atrybuty: Tylko atrybuty globalne.

Zakres:

0 do 4294967295 bajtów.

Wartość domyślna: NULL, jeśli pole może być NULL, "" jeśli NOT NULL.

Wymagana pamięć: Długość wartości plus 4 bajt na przechowanie długości.

Porównania:

Rozróżnianie małych i wielkich liter.

T I N Y T E X T

Znaczenie:

Mała wartość TEXT.

Dozwolone atrybuty: Tylko atrybuty globalne.

Zakres:

0 do 255 bajtów.

Wartość domyślna: NULL, jeśli pole może być NULL, "" jeśli NOT NULL.

Wymagana pamięć: Długość wartości plus 1 bajt na przechowanie długości.

Porównania:

Bez rozróżniania małych i wielkich liter.

T E X T

Znaczenie:

Wartość TEXT normalnej długości.

Dozwolone atrybuty: Tylko atrybuty globalne.

Zakres:

0 do 65535 bajtów.

Wartość domyślna: NULL, jeśli pole może być NULL, "" jeśli NOT NULL.

Wymagana pamięć: Długość wartości plus 2 bajt na przechowanie długości.

Porównania:

Bez rozróżniania małych i wielkich liter.

M E D I U M T E X T

Znaczenie:

Wartość TEXT średniej długości.

Dozwolone atrybuty: Tylko atrybuty globalne.

Zakres:

0 do 16777215 bajtów.

Wartość domyślna: NULL, jeśli pole może być NULL, "" jeśli NOT NULL.

Wymagana pamięć: Długość wartości plus 3 bajt na przechowanie długości.

Porównania:

Bez rozróżniania małych i wielkich liter.

L O N G T E X T

Znaczenie:

Wartość TEXT dużej długości.

Dozwolone atrybuty: Tylko atrybuty globalne.

Zakres:

0 do 4294967295 bajtów.

Wartość domyślna: NULL, jeśli pole może być NULL, "" jeśli NOT NULL.

Wymagana pamięć: Długość wartości plus 2 bajt na przechowanie długości.

Porównania:

Bez rozróżniania małych i wielkich liter.

E N U M

( " w a r t o ś ć 1 " , " w a r t o ś ć 2 " , . . . ) Typ wyliczeniowy. Wartość pola może przyjmować

Znaczenie:

dokładnie jeden z elementów na liście wartości.

Dozwolone atrybuty:

Tylko atrybuty globalne.

Zakres:

0 do 65535 bajtów.

NULL, jeśli pole może być NULL, pierwsza wartość

Wartość domyślna:

wyliczenia, jeśli NOT NULL.

1 bajt na wyliczenia z 1 do 255 elementami, 2 bajty

Wymagana pamięć:

na wyliczenia z 256 do 65535 elementami.

Porównania:

Bez rozróżniania małych i wielkich liter.

S E T

( " w a r t o ś ć 1 " , " w a r t o ś ć 2 " , . . . ) Zbiór. Wartościom w polach mogą być przypisane zaro

Znaczenie:

lub więcej elementów z listy wartości.

Dozwolone atrybuty:

Tylko atrybuty globalne.

Zakres:

0 do 65535 bajtów.

NULL, jeśli pole może być NULL, "" (zbiór pusty) jeśli Wartość domyślna:

NOT NULL.

1 bajt dla zbiorów z 1 do 8 elementami, 2 bajty dla 9

do 16 elementów, 3 bajty dla 17 do 24 elementów, 4

Wymagana pamięć:

bajty dla 25 do 32 elementów lub 8 bajtów dla 33 do

64 elementów.

Porównania:

Bez rozróżniania małych i wielkich liter.

TYPY DATY I GODZINY.

D A T E

Znaczenie:

Data "YYYY-MM-DD".

Dozwolone atrybuty: Tylko atrybuty globalne.

Zakres:

"1000-01-01" do "9999-12-31".

Wartość zerowa:

"0000-00-00".

Wartość domyślna: NULL, jeśli pole może być NULL,"0000-00-00" jeśli NOT NULL.

Wymagana pamięć: 3 bajty.

T I M E

Znaczenie:

Godzina "hh:mm:ss".

Dozwolone atrybuty: Tylko atrybuty globalne.

Zakres:

"-838:59:59" do "838:59:59".

Wartość zerowa:

"00:00:00".

Wartość domyślna: NULL, jeśli pole może być NULL,"00:00:00" jeśli NOT NULL.

Wymagana pamięć: 3 bajty.

D A T E T I M E

Znaczenie:

Data i godzina (wymagane są oba elementy) "YYYY-MM-DD hh:mm:ss".

Dozwolone atrybuty: Tylko atrybuty globalne.

Zakres:

1000-01-01 00:00:00" do "9999-12-31 23:59:59".

Wartość zerowa:

"0000-00-00 00:00:00".

Wartość domyślna: NULL, jeśli pole może być NULL,"0000-00-00 00:00:00" jeśli NOT NULL.

Wymagana pamięć: 8 bajtów.

T I M E S T A M P [ ( M ) ]

Znaczenie:

Datownik (data i godzina) "YYYYMMDDhhmmss"

Dozwolone atrybuty:

Tylko atrybuty globalne.

Zakres:

19700101000000 do roku 2037.

Wartość zerowa:

"00000000000000".

Bieżąca data i godzina. Uwaga: DESCRIBE i SHOW COLUMNS informują, Wartość domyślna:

że domyslną wartością jest NULL.

Wymagana pamięć:

4 bajty.

Y E A R

Znaczenie:

Rok "YYYY".

Dozwolone atrybuty: Tylko atrybuty globalne.

Zakres:

1900 do 2155.

Wartość zerowa:

"0000".

Wartość domyślna: NULL, jeśli pole może być NULL,"0000" jeśli NOT NULL.

Wymagana pamięć: 1 bajt.

Na podstawie dokumentacji technicznej MySQL oraz publikacji "MySQL" Paula DuBois.