Co to jest BLOB w SQL?
BLOB to typ danych przeznaczony do przechowywania danych binarnych w bazie danych. Skrót oznacza Binary Large Object, czyli duży obiekt binarny. Stosuje się go wtedy, gdy w kolumnie mają być zapisane np. obrazy, pliki dźwiękowe, filmy, dokumenty PDF lub inne pliki, których baza danych nie powinna interpretować jako tekstu.
Kiedy używać typu BLOB?
Typ BLOB jest właściwy dla danych takich jak:
- zdjęcia i grafiki,
- nagrania audio,
- pliki wideo,
- pliki binarne przesyłane przez użytkownika,
- dokumenty zapisane jako bajty.
W pytaniach egzaminacyjnych warto zapamiętać prostą zasadę: duże dane binarne = BLOB.
Przykład użycia
CREATE TABLE pliki (
id INT AUTO_INCREMENT PRIMARY KEY,
nazwa VARCHAR(255),
typ_mime VARCHAR(100),
dane BLOB
);
Kolumna dane przechowuje zawartość pliku, a dodatkowe kolumny mogą przechowywać jego nazwę oraz typ MIME, np. image/png albo application/pdf.
Odmiany BLOB w MySQL
W MySQL występują różne odmiany typu BLOB, różniące się maksymalnym rozmiarem:
- TINYBLOB - bardzo małe dane binarne,
- BLOB - standardowe dane binarne,
- MEDIUMBLOB - większe pliki,
- LONGBLOB - bardzo duże pliki.
BLOB a LONGTEXT
BLOB służy do danych binarnych, natomiast TEXT i LONGTEXT służą do długiego tekstu. Dlatego dla multimediów poprawnym wyborem jest BLOB, a nie LONGTEXT.