Как да съхранявате двоични данни в MySQL

Как да съхранявам двоични данни в MySQL база данни?


person Maria Jahan    schedule 11.06.2012    source източник
comment
Моля, актуализирайте въпроса си, за да включите подробности за това, което искате да постигнете (или какво сте опитали и не е успяло). Едно просто търсене ми дава как да съхранявам и извличам двоични данни от база данни.   -  person verisimilitude    schedule 11.06.2012
comment
Моля, актуализирайте въпроса си. Няма подробности за това какво се опитвате да направите или какво сте направили досега.   -  person Namphibian    schedule 11.06.2012
comment
защо това не е дубликат?   -  person gloomy.penguin    schedule 07.12.2013


Отговори (3)


Този въпрос не е толкова ясен за отговор, както звучи: има много различни модели на използване на двоични данни, всеки със своите предупреждения и плюсове и минуси. Нека се опитам да обобщя:

  • Кратки части от двоични данни, като хешове на пароли, работят много добре, като просто ги кодирате base64 и съхранявате получения низ като VARCHAR
  • „Не съвсем двоичните“ данни, като например фрагменти от документи с случайни неотпечатани, могат да бъдат екранирани и сортирани като низ
  • Типът данни BLOB ви позволява да съхранявате произволни части от двоични данни, но аз силно препоръчвам да не го използвате: Съхранявайте данните във файл, след това запазете пътя до файла в тип String. Не печелите нищо от съхраняването на двоични данни, които DB не "разбира" в DB.
person Eugen Rieck    schedule 11.06.2012

Бих предложил LONGBLOB за съхраняване на файлове в MySQL. Всичко зависи от вида на двоичния файл и вашето приложение.

TINYBLOB - A BLOB column with a maximum length of 255 (2^8 - 1) characters.
BLOB - A BLOB column with a maximum length of 65,535 (2^16 - 1) characters.
MEDIUMBLOB - A BLOB column with a maximum length of 16,777,215 (2^24 - 1) characters.
LONGBLOB - A BLOB column with a maximum length of 4,294,967,295 (2^32 - 1) characters.
person IEnumerable    schedule 07.12.2013

Двоичните данни могат да се съхраняват в MySQL база данни в BLOB поле . BLOB е двоичен голям обект, който може да съдържа променлива сума на данни.

person verisimilitude    schedule 11.06.2012