Ваш вопрос сложен для понимания. Вот и снова:
Я хочу, чтобы 3 столбца имели 9 разных значений, как список в Python. Является ли это возможным? Если не в SQLite, то на другом движке базы данных?
Вот что, по-моему, вы спрашиваете: возможно ли взять список Python из 9 различных значений и сохранить значения под определенным столбцом в базе данных?
Ответ на этот вопрос - «да». Я предлагаю использовать библиотеку Python ORM вместо того, чтобы пытаться самостоятельно писать код SQL. В этом примере кода используется Осень :
import autumn
import autumn.util
from autumn.util import create_table
# get a database connection object
my_test_db = autumn.util.AutoConn("my_test.db")
# code to create the database table
_create_sql = """\
DROP TABLE IF EXISTS mytest;
CREATE TABLE mytest (
id INTEGER PRIMARY KEY AUTOINCREMENT,
value INTEGER NOT NULL,
UNIQUE(value)
);"""
# create the table, dropping any previous table of same name
create_table(my_test_db, _create_sql)
# create ORM class; Autumn introspects the database to find out columns
class MyTest(autumn.model.Model):
db = my_test_db
lst = [3, 6, 9, 2, 4, 8, 1, 5, 7] # list of 9 unique values
for n in lst:
row = MyTest(value=n) # create MyTest() row instance with value initialized
row.save() # write the data to the database
Запустите этот код, затем выйдите из Python и запустите sqlite3 my_test.db
. Затем выполните эту команду SQL внутри SQLite: select * from mytest;
Вот результат:
1|3
2|6
3|9
4|2
5|4
6|8
7|1
8|5
9|7
В этом примере извлекаются значения из одного списка и используются значения для заполнения одного столбца из базы данных. Это может быть тривиально расширено, чтобы добавить дополнительные столбцы и заполнить их.
Если это не тот ответ, который вы ищете, пожалуйста, перефразируйте ваш запрос для уточнения.
P.S. В этом примере используется autumn.util
. setup.py
, включенный в текущую версию Autumn, не устанавливает util.py
в правильном месте; вам нужно будет завершить настройку осени вручную.
Вы можете использовать более зрелую ORM, такую как SQLAlchemy или ORM от Django. Тем не менее, мне очень нравится осень, особенно для SQLite.