Подтвердить что ты не робот

Как вставить/получить файл, хранящийся как BLOB в MySQL db, используя python

Я хочу написать python script, который заполняет базу данных некоторой информацией. Один из столбцов в моей таблице - это BLOB, который я хотел бы сохранить файл для каждой записи.

Как я могу прочитать файл (двоичный) и вставить его в БД с помощью python? Аналогично, как я могу получить его и записать этот файл в какое-то произвольное место на жестком диске?

4b9b3361

Ответ 1

thedata = open('thefile', 'rb').read()
sql = "INSERT INTO sometable (theblobcolumn) VALUES (%s)"
cursor.execute(sql, (thedata,))

Этот код, конечно, работает так, как написано, только если ваша таблица имеет только столбец BLOB и что вы хотите сделать это INSERT, но, конечно, вы можете легко настроить его, чтобы добавить больше столбцов, используйте UPDATE вместо INSERT или что-то, что вам нужно делать.

Я также предполагаю, что ваш файл двоичный, а не текст и т.д.; снова, если мои догадки неправильно вам легко настроить соответствующий код.

Какой-то SELECT на cursor.execute, то какой-то выбор из курсора, как вы извлекать данные BLOB, точно так же, как вы извлекаете любые другие данные.

Ответ 2

Вы можете вставлять и читать BLOB файлы из БД, как и каждый другой тип столбца. Из представления API базы данных нет ничего особенного в BLOB.