logo

Typy danych SQL

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.