database mysql

Typy danych w MySQL: Przegląd i zastosowanie

W MySQL, każda kolumna w tabeli ma określony typ danych. Wybór odpowiedniego typu danych dla kolumny jest kluczowy, ponieważ wpływa na zakres wartości, które można w niej przechowywać, oraz na sposób przechowywania tych wartości. W tym artykule przyjrzymy się dostępnym typom danych w MySQL, ich zakresom i zastosowaniom.

Typy liczbowe

Typ danych Opis Zakres Przykłady
TINYINT Mała liczba całkowita -128 do 127 1, -50, 100
SMALLINT Mała liczba całkowita -32,768 do 32,767 3000, -15000
MEDIUMINT Średnia liczba całkowita -8,388,608 do 8,388,607 500000, -2000000
INT Liczba całkowita -231 do 231-1 200000000, -500000000
BIGINT Duża liczba całkowita -263 do 263-1 9000000000000000
FLOAT Liczba zmiennoprzecinkowa Zależy od precyzji 3.14, -0.001, 20.5
DOUBLE Dokładna liczba zmiennoprzecinkowa Zależy od precyzji 3.141592653589793, -0.0000001
DECIMAL(M,N) Dokładna liczba zmiennoprzecinkowa Zależy od M i N 10.75, -3.33, 100.01
BIT Wartość binarna 0 lub 1 0, 1

Typy tekstowe

Typ danych Opis Zakres Przykłady
CHAR(n) Ciąg znaków o stałej długości 0 do 255 znaków ’A’, 'HELLO’
VARCHAR(n) Ciąg znaków o zmiennej długości 0 do 65,535 znaków ’Hello’, 'MySQL’, 'Data’
TINYTEXT Mały ciąg znaków 0 do 255 znaków ’Lorem ipsum’, 'Krótki tekst’
TEXT Ciąg znaków 0 do 65,535 znaków ’Lorem ipsum dolor sit…’, 'Tekst artykułu…’
MEDIUMTEXT Średnia długość ciąg znaków 0 do 16,777,215 znaków ’Dłuższy tekst artykułu…’
LONGTEXT Długi ciąg znaków 0 do 4,294,967,295 znaków ’Cała książka w formie tekstu…’
ENUM(’value1′,’value2′,…) Lista wartości Zależy od listy wartości ’RED’, 'GREEN’, 'BLUE’
SET Zestaw wartości Do 64 wartości ’apple,banana’, 'orange,mango,grape’

Typy daty i czasu

Typ danych Opis Zakres Przykłady
DATE Data ’1000-01-01′ do '9999-12-31′ ’2023-04-25′, '1999-12-31′
DATETIME Data i czas ’1000-01-01 00:00:00′ do '9999-12-31 23:59:59′ ’2023-04-25 12:30:45′
TIMESTAMP Znacznik czasu ’1970-01-01 00:00:01′ UTC do '2038-01-19 03:14:07′ UTC ’2023-04-25 12:30:45′
TIME Czas ’-838:59:59′ do '838:59:59′ ’12:30:45′, '100:00:00′
YEAR Rok 1901 do 2155 (i 0000) ’2023′, '1999′

Typy binarne

Typ danych Opis Zakres Przykłady
BINARY(n) Ciąg binarny o stałej długości 0 do 255 bajtów ’0A1E’, 'FE2D’
VARBINARY(n) Ciąg binarny o zmiennej długości 0 do 65,535 bajtów ’0A1E23′, 'FE2D45′
TINYBLOB Mały ciąg binarny 0 do 255 bajtów Dane binarne
BLOB Ciąg binarny 0 do 65,535 bajtów Dane binarne
MEDIUMBLOB Średni ciąg binarny 0 do 16,777,215 bajtów Dane binarne
LONGBLOB Długi ciąg binarny 0 do 4,294,967,295 bajtów Dane binarne

Typy logiczne

Typ danych Opis Zakres Przykłady
BOOLEAN Wartość prawda/fałsz TRUE lub FALSE TRUE, FALSE

Typy JSON

Typ danych Opis Zakres Przykłady
JSON Wartość JSON Zależy od wartości '{„name”: „John”, „age”: 30}’, '[„apple”, „banana”, „cherry”]’

Wybór odpowiedniego typu danych jest kluczowy dla zapewnienia integralności danych, wydajności bazy danych i optymalizacji przestrzeni dyskowej. Przy projektowaniu tabeli w MySQL warto dokładnie przemyśleć potrzeby aplikacji i dobrać odpowiednie typy danych do przechowywanych informacji.