CompZone.Org :: Artykuły :: SQL
Która technologia najbardziej Cię interesuje?
PHP
ASP
AJAX
SQL
JavaScript
Inna
Sonda Wyniki

Add to Google

Typy danych w kolumnach w MySQL

W MySQL wyróżnia się trzy podstawowe typy danych: liczbowy, daty i czasu oraz łańcuchowy. Każda z tych kategori dzieli się na szereg podtypow.

W przypadku niektórych typów danych możliwe jest określenie maksymalnej szerokosci wyswietlania. W poniższych tabelach wiekośc tę oznaczono literą M znajduje się w nawiasach kwadratowych. Największa dopuszczalna zawartośc parametru M wynosi 255.

Wszystkie parametry opcjonalne są przedstawione w nawiasach kwadratowych.

Typy liczbowe

Typy liczbowe dzielą się na całkowito liczbowe i zmiennoprzecinkowe. W przypadku tych drugich istnieje możliwośc zdeklarowania liczby cyfr znaczących po przecinku. W tabelach wielkość ta jest oznaczona symbolem D.

W przypadku typów całkowito liczbowych można je zawęzić do typu UNSIGNED (nieujemny).

Kolumna "Pamięć" określa ilość zajmowanej pamięci w bajtach!

Typy całkowito liczbowe

TypZakresPamięćOpis
TINYINT[(M)]-127..128 lub 0..2551Bardzo małe liczby całkowite
BIT--Synonim TINYINT
BOOL--Synonim TINYINT
SMALLINT[(M)]-32768..32767 lub 0..655352Małe liczby całkowite
MEDIUMINT[(M)]-8388608..8388607 lub 0..167772153Średnie liczby całkowite
INT[(M)]-231..231-1 lub 0..232-14 Zwykłe liczby całkowite
INTEGER[(M)]--Synonim typu INT
BIGINT[(M)]-263..263-1 lub 0..264-18Duże liczby całkowite

Typy zmiennoprzecinkowe

TypZakresPamięćOpis
FLOAT(precyzja)zaleznie od precyzjiróżnyUżywany do deklarowania liczb zmiennoprzecinkowych o pojedynczej lub podwójnej precyzji
FLOAT[(M, D)]±1.175494351E-38 ±3.402823466E+384Liczby zmiennoprzecinkowe o zmiennej precyzji. Typ ten jest równoznaczny z typem FLOAT(4), pozwala przy tym na określenie szerokości wyświetlania i liczby cyfr znaczących po przecinku.
DOUBLE[(M, D)]±1.7976931348623157E -308 ±2.2250738585072014E +3088Liczby zmiennoprzecinkowe o podwójnej precyzji. Typ ten jest równoznaczny z typem FLOAT(8), pozwala przy tym na określenie szerokości wyświetlania i liczby cyfr znaczących po przecinku.
DOUBLE PRECSION[(M, D)]--Synonim typu DOUBLE[(M, D)]
REAL[(M, D)]--Synonim typu DOUBLE[(M, D)]
DECIMAL[(M[, D])]różnyM+2Liczba zmiennoprzecinkowa przechowywana jako zmienna typu CHAR. Zakreszależy od wartości M - szerokości wyświetlania.
NUMERIC[(M, D)]--Synonim typu DECIMAL
DEC[(M, D)]--Synonim typu DECIMAL

Typy daty i czasu

MySQL obsługuje wiele typów daty i czas, w formie lańcuchowej lub liczbowej. Charakterystyczną cechą typu TIMESTAMP jest to, że jeżeli pole tego typu zostanie nie wypełnione, wówczas automatycznie zostanie w nim zapisany aktualny czas i data.

Typy daty i czasu

TypZakresOpis
DATE1000-01-01 do 9999-12-31Data wyświetlana w formacie RRRR-MM-DD.
TIME-838:59:59 do 838:59:50Czas wyświetlany w formacie GG:MM:SS. Zakres typu jest tak szeroki, że zapewne nigdy nie będzie w pełni wykorzystany.
DATETIME1000-01-01 00:00:00 do 9999-12-31Data i czas wyświetlane w formacie RRRR-MM-DD GG:MM:SS
TIMESTAMP[(M)]1970-01-01 00:00:00 do roku 2037Typ szczególnie przydatny do śledzenia transakcji. Format wyświetlania zależy od wartości parametru M, a górny zakres typu od systemu operacyjnego.
YEAR[(2|4)]70-69(1970-2069) lub 1901-2155Rok wyświetlany w formie dwu- lub czterocfrowej. Jak widać każdy z nich ma odmienny zakres.

Formaty wyświetlania wartości typu TIMESTAMP

Podany typFormat wyświetlania
TIMESTAMPRRRRMMDDGGMMSS
TIMESTAMP(14)RRRRMMDDGGMMSS
TIMESTAMP(12)RRMMDDGGMMSS
TIMESTAMP(10)RRMMDDGGMM
TIMESTAMP(8)RRRRMMDD
TIMESTAMP(6)RRMMDD
TIMESTAMP(4)RRMM
TIMESTAMP(2)RR

Typy łańcuchowe

Typy łańcuchowe dzileimy na trzy grupy

  • krótkie - krótkie fragmenty tekstu np.: CHAR
  • długie - długie fragmenty tekstu oraz dane binarne np.: BLOB
  • specjalne - typy wyliczeniowe np.: ENUM

Zwykłe typy łańcuchowe

TypZakresOpis
[NATIONAL] CHAR(M) [BINARY]1-255 znakówŁańcuch znaków o stałej długości M, gdzie M może przybierać wartości od 1 do 255. Słowo kluczowe NATIONAL wymusza użycie domyślnego zbioru znaków. Zbiór ten jest i tak domyślnie wykorzystywany przez MySQL, jednak opcja ta została udostępniona jako część standardu ANSI SQL. Słowo kluczowe BINARY wyłącza rozpoznawanie wielkości liter (domyślnie wielkość liter jest rozpoznawana).
CHAR1Synonim typu CHAR(1)
[NATIONAL] VARCHAR(M) [BINARY]1-255Łańcuch znaków o różnejdługości, reszta jak wyżej.

Typy TEXT i BLOB

TypMaksymalna długość (w znakach)Opis
TINYBLOB255Mały obiekt BLOB.
TINYTEXT255Krótkie pole tekstowe.
BLOB65535Zwykły obiekt BLOB.
TEXT65535Pole tekstowe o zwykłej długości
MEDIUMBLOB16777215Średni obiekt BLOB.
MEDIUMTXT16777215Pole tekstowe o średniej długości.
LONGBLOB4294967295Duży obiekt BLOB.
LONGTEXT4294967295Długie pole tekstowe.

Typy SET i ENUM

TypMaksymalna ilość wartości w zbiorzeOpis
ENUM('wartosc1','wartosc2',...)65535W kolumnie tego typu może znajdować się tylko jedna wartość ze zbioru wartości dopuszczalnych lub NULL
SET('wartosc1','wartosc2',...)64W kolumnie tego typu może znajdować podzbiór zbioru wartości dopuszczalnych lub NULL.

Źródło: "PHP i MySQL Tworzenie stron WWW Vademecum profesjonalisty (wyadanie drugie)" wydawnictwa Helion.

jedre @ 07-07-2006 21:57
Brak komentarzy...
Copyright © 2005-2006 Compzone.Org. Kopiowanie i wykorzystywanie materiałów zawartych na tej stronie bez zgody autora zabronione!