Typy danych służą do reprezentowania charakteru danych, które mogą być przechowywane w tabeli bazy danych. Na przykład, jeśli w konkretnej kolumnie tabeli chcemy przechowywać dane typu string, będziemy musieli zadeklarować typ danych string dla tej kolumny.
Typy danych podzielone są głównie na trzy kategorie dla każdej bazy danych.
- Typy danych ciągowych
- Liczbowe typy danych
- Data i godzina Typy danych
Typy danych w bazach danych MySQL, SQL Server i Oracle
Typy danych MySQL
Lista typów danych używanych w bazie danych MySQL. Opiera się to na MySQL 8.0.
Typy danych ciągów MySQL
ZNAK (rozmiar) | Służy do określenia łańcucha o stałej długości, który może zawierać cyfry, litery i znaki specjalne. Jego rozmiar może wynosić od 0 do 255 znaków. Wartość domyślna to 1. |
VARCHAR (rozmiar) | Służy do określenia ciągu o zmiennej długości, który może zawierać cyfry, litery i znaki specjalne. Jego rozmiar może wynosić od 0 do 65535 znaków. |
BINARNY (rozmiar) | Jest równa CHAR(), ale przechowuje ciągi bajtów binarnych. Jego parametr size określa długość kolumny w bajtach. Wartość domyślna to 1. |
WARBINARZ (rozmiar) | Jest równa VARCHAR(), ale przechowuje ciągi bajtów binarnych. Jego parametr size określa maksymalną długość kolumny w bajtach. |
Rozmiar czcionki) | Zawiera ciąg znaków o maksymalnej długości 255 znaków. |
MAŁY TEKST | Zawiera ciąg znaków o maksymalnej długości 255 znaków. |
ŚREDNI TEKST | Zawiera ciąg o maksymalnej długości 16 777 215. |
DŁUGI TEKST | Zawiera ciąg znaków o maksymalnej długości 4 294 967 295 znaków. |
ENUM(wartość1, wartość2, wartość3,...) | Stosuje się go, gdy obiekt typu string ma tylko jedną wartość, wybraną z listy możliwych wartości. Zawiera 65535 wartości na liście ENUM. Jeśli wstawisz wartość, której nie ma na liście, zostanie wstawiona pusta wartość. |
USTAW(wartość1,wartość2,wartość3,....) | Służy do określenia ciągu znaków, który może mieć 0 lub więcej wartości, wybranych z listy możliwych wartości. Na liście SET można wyświetlić jednocześnie maksymalnie 64 wartości. |
BLOB (rozmiar) | Jest używany w przypadku obiektów BLOB (dużych obiektów binarnych). Może pomieścić do 65 535 bajtów. |
Numeryczne typy danych MySQL
BIT (rozmiar) | Jest używany dla typu wartości bitowej. Liczba bitów na wartość jest określona w rozmiarze. Jego rozmiar może wynosić od 1 do 64. Wartość domyślna to 1. |
INT(rozmiar) | Używa się go do wartości całkowitej. Jego zakres ze znakiem waha się od -2147483648 do 2147483647, a zakres bez znaku waha się od 0 do 4294967295. Parametr size określa maksymalną szerokość wyświetlania, która wynosi 255. |
LICZBA CAŁKOWITA(rozmiar) | Jest równy INT(rozmiar). |
PŁYWAK(rozmiar, d) | Służy do określenia liczby zmiennoprzecinkowej. Jego parametr size określa całkowitą liczbę cyfr. Liczbę cyfr po przecinku określa się za pomocą D parametr. |
PŁYWAJĄCY(p) | Służy do określenia liczby zmiennoprzecinkowej. MySQL użył parametru p, aby określić, czy użyć FLOAT, czy DOUBLE. Jeśli p mieści się w przedziale od 0 do 24, typem danych staje się FLOAT (). Jeśli p wynosi od 25 do 53, typem danych staje się DOUBLE(). |
PODWÓJNE(rozmiar, d) | Jest to liczba zmiennoprzecinkowa o normalnym rozmiarze. Jego parametr size określa całkowitą liczbę cyfr. Ilość cyfr po przecinku określa parametr d. |
DZIESIĘTNY(rozmiar, d) | Służy do określenia numeru stałego punktu. Jego parametr size określa całkowitą liczbę cyfr. Liczba cyfr po parametrze dziesiętnym jest określana przez D parametr. Maksymalna wartość rozmiaru to 65, a wartość domyślna to 10. Maksymalna wartość dla D wynosi 30, a wartość domyślna to 0. |
GRUDZIEŃ (rozmiar, d) | Jest równy DECIMAL(rozmiar, d). |
BOOL | Służy do określania wartości logicznych true i false. Zero jest uznawane za fałszywe, a wartości niezerowe za prawdziwe. |
Typy danych daty i godziny MySQL
DATA | Służy do określenia formatu daty RRRR-MM-DD. Obsługiwany zakres wynosi od „1000-01-01” do „9999-12-31”. |
DATACZAS(fsp) | Służy do określenia kombinacji daty i godziny. Jego format to RRRR-MM-DD gg:mm:ss. Obsługiwany zakres wynosi od „1000-01-01 00:00:00” do 9999-12-31 23:59:59”. |
ZNACZNIK CZASOWY(fsp) | Służy do określenia znacznika czasu. Jego wartość jest zapisywana jako liczba sekund od epoki Uniksa („1970-01-01 00:00:00” UTC). Jego format to RRRR-MM-DD gg:mm:ss. Obsługiwany zakres wynosi od „1970-01-01 00:00:01” UTC do „2038-01-09 03:14:07” UTC. |
CZAS (fsp) | Służy do określenia formatu czasu. Jego format to gg:mm:ss. Obsługiwany zakres wynosi od „-838:59:59” do „838:59:59” |
ROK | Służy do określenia roku w formacie czterocyfrowym. Wartości dozwolone w formacie czterocyfrowym od 1901 do 2155 i 0000. |
Typy danych SQL Server
Typ danych ciągu SQL Server
znak(n) | Jest to typ danych składający się z ciągu znaków o stałej szerokości. Jego rozmiar może wynosić do 8000 znaków. |
varchar(n) | Jest to typ danych składający się z ciągu znaków o zmiennej szerokości. Jego rozmiar może wynosić do 8000 znaków. |
varchar (maks.) | Jest to typ danych składający się z ciągu znaków o zmiennej szerokości. Jego rozmiar może wynosić do 1 073 741 824 znaków. |
tekst | Jest to typ danych składający się z ciągu znaków o zmiennej szerokości. Jego rozmiar może wynosić do 2 GB danych tekstowych. |
nchar | Jest to typ danych typu string Unicode o stałej szerokości. Jego rozmiar może wynosić do 4000 znaków. |
nvarchar | Jest to typ danych typu string Unicode o zmiennej szerokości. Jego rozmiar może wynosić do 4000 znaków. |
ntekst | Jest to typ danych typu string Unicode o zmiennej szerokości. Jego rozmiar może wynosić do 2 GB danych tekstowych. |
binarny (n) | Jest to typ danych ciągu binarnego o stałej szerokości. Jego rozmiar może wynosić do 8000 bajtów. |
varbinar | Jest to typ danych ciągu binarnego o zmiennej szerokości. Jego rozmiar może wynosić do 8000 bajtów. |
obraz | Jest to również typ danych ciągu binarnego o zmiennej szerokości. Jego rozmiar może sięgać nawet 2 GB. |
Numeryczne typy danych SQL Server
fragment | Jest to liczba całkowita, która może wynosić 0, 1 lub null. |
malutki | Pozwala na liczby całkowite od 0 do 255. |
Smallint | Dopuszcza liczby całkowite z zakresu od -32 768 do 32 767. |
Wewnętrzne | Dopuszczalne są liczby całkowite z zakresu od -2 147 483 648 do 2 147 483 647. |
bigint | Dopuszczalne są liczby całkowite z zakresu od -9 223 372 036 854 775 808 do 9 223 372 036 854 775 807. |
pływak (n) | Służy do określania danych liczbowych o zmiennej precyzji od -1,79E+308 do 1,79E+308. Parametr n wskazuje, czy pole powinno zawierać 4 czy 8 bajtów. Domyślna wartość n to 53. |
prawdziwy | Są to dane liczbowe o zmiennej precyzji od -3,40E+38 do 3,40E+38. |
pieniądze | Służy do określania danych pieniężnych od -922 337 233 685 477,5808 do 922 337 203 685 477,5807. |
Typ danych daty i godziny programu SQL Server
datagodzina | Służy do określenia kombinacji daty i godziny. Obsługuje zakres od 1 stycznia 1753 do 31 grudnia 9999 z dokładnością do 3,33 milisekundy. |
datagodzina2 | Służy do określenia kombinacji daty i godziny. Obsługuje zakres od 1 stycznia 0001 do 31 grudnia 9999 z dokładnością do 100 nanosekund |
data | Służy wyłącznie do przechowywania daty. Obsługuje zakres od 1 stycznia 0001 do 31 grudnia 9999 |
czas | Przechowuje czas tylko z dokładnością do 100 nanosekund |
znak czasu | Przechowuje unikalny numer po utworzeniu lub zmodyfikowaniu nowego wiersza. Wartość znacznika czasu opiera się na zegarze wewnętrznym i nie odpowiada czasowi rzeczywistemu. Każda tabela może zawierać tylko jednorazową zmienną stempla. |
SQL Server Inne typy danych
Wariant_sql | Jest używany do różnych typów danych, z wyjątkiem tekstu, znacznika czasu i ntext. Przechowuje do 8000 bajtów danych. |
XML-a | Przechowuje dane w formacie XML. Maksymalnie 2 GB. |
kursor | Przechowuje odwołanie do kursora używanego do operacji na bazie danych. |
tabela | Przechowuje zestaw wyników do późniejszego przetwarzania. |
unikalny identyfikator | Przechowuje identyfikator GUID (globalnie unikalny identyfikator). |
Typy danych Oracle
Typy danych Oracle String
ZNAK (rozmiar) | Służy do przechowywania danych znakowych w określonej długości. Można go zapisać do 2000 bajtów. |
NCHAR (rozmiar) | Służy do przechowywania danych dotyczących znaków narodowych w określonej długości. Można go zapisać do 2000 bajtów. |
VARCHAR2 (rozmiar) | Służy do przechowywania zmiennych danych łańcuchowych o określonej długości. Można go zapisać do 4000 bajtów. |
VARCHAR(ROZMIAR) | Jest taki sam jak VARCHAR2 (rozmiar). Możesz także użyć VARCHAR(rozmiar), ale sugeruje się użycie VARCHAR2(rozmiar) |
NVARCHAR2 (rozmiar) | Służy do przechowywania danych w postaci ciągu Unicode o określonej długości. Musimy określić rozmiar typu danych NVARCHAR2. Można go zapisać do 4000 bajtów. |
Numeryczne typy danych Oracle
LICZBA (p, s) | Zawiera precyzję p i skalę s. Precyzja p może wynosić od 1 do 38, a skala s może wynosić od -84 do 127. |
PŁYWAJĄCY(p) | Jest to podtyp typu danych NUMBER. Precyzja p może wynosić od 1 do 126. |
BINARY_FLOAT | Służy do precyzji binarnej (32-bitowej). Wymaga 5 bajtów, łącznie z bajtem długości. |
BINARY_DOUBLE | Służy do podwójnej precyzji binarnej (64-bity). Wymaga 9 bajtów, łącznie z bajtem długości. |
Typy danych daty i godziny Oracle
DATA | Służy do przechowywania prawidłowego formatu daty i godziny o stałej długości. Jego zakres waha się od 1 stycznia 4712 p.n.e. do 31 grudnia 9999 r. n.e. |
ZNAK CZASU | Służy do przechowywania ważnej daty w formacie RRRR-MM-DD z czasem w formacie gg:mm:ss. |
Typy danych dużych obiektów Oracle (typy LOB)
KROPELKA | Służy do określania nieustrukturyzowanych danych binarnych. Jego zasięg wzrasta do 232-1 bajt lub 4 GB. |
BFILE | Służy do przechowywania danych binarnych w pliku zewnętrznym. Jego zasięg wzrasta do 232-1 bajt lub 4 GB. |
KLOB | Jest używany do danych znakowych jednobajtowych. Jego zasięg wzrasta do 232-1 bajt lub 4 GB. |
NCLOB | Służy do określania jednobajtowych lub wielobajtowych danych zestawu znaków narodowych (NCHAR) o stałej długości. Jego zasięg wynosi do 232-1 bajt lub 4 GB. |
SUROWY (rozmiar) | Służy do określania surowych danych binarnych o zmiennej długości. Jego zakres wynosi do 2000 bajtów na wiersz. Należy określić jego maksymalny rozmiar. |
DŁUGI SUROWY | Służy do określania surowych danych binarnych o zmiennej długości. Jego zasięg sięga 231-1 bajt lub 2 GB na wiersz. |