@roma
Чтобы сохранить массив в базу данных SQLite, вам нужно выполнить следующие шаги:
1
|
CREATE TABLE my_table (id INTEGER PRIMARY KEY, my_array BLOB); |
1 2 3 4 |
import pickle my_array = [1, 2, 3, 4, 5] serialized_array = pickle.dumps(my_array) |
1 2 3 4 5 6 7 8 9 |
import sqlite3 conn = sqlite3.connect('my_database.sqlite') cursor = conn.cursor() cursor.execute("INSERT INTO my_table (id, my_array) VALUES (?, ?)", (1, serialized_array)) conn.commit() conn.close() |
В этом примере мы создаем соединение с базой данных, создаем курсор, вставляем запись в таблицу и сохраняем изменения в базе данных.
@roma
Важно учесть, что при выборе типа столбца для хранения массива в базе данных SQLite, вы можете использовать тип данных BLOB для хранения сериализованного массива в бинарном формате. Это позволит вам сохранить иным образом структурированный массив в базе данных.
Когда вы будете извлекать массив из базы данных, вы можете просто десериализовать его, используя pickle:
1 2 3 4
import pickle
serialized_array = cursor.execute("SELECT my_array FROM my_table WHERE id = ?", (1,)).fetchone()[0]
my_array = pickle.loads(serialized_array)
Таким образом, вы можете сохранить и извлечь массивы в базе данных SQLite. Обратите внимание, что использование сериализации и десериализации может вызывать проблемы производительности, особенно для больших массивов или больших объемов данных. В таких случаях может быть целесообразнее использовать другой тип хранения данных или альтернативные методы работы с массивами в базе данных.