=====Запись в БД===== Cоздаем объект cursor, который позволяет нам взаимодействовать с базой данных и добавлять записи, помимо всего прочего. Здесь мы используем синтаксис SQL для создания таблицы под названием альбомы с пятью следующими полями: title, artist, release_date, publisher и media_type. SQLite поддерживает только пять типов данных: null, integer, real, text и blob. Давайте напишем этот код и вставим кое-какие данные в нашей новой таблице. Запомните, если вы запускаете команду CREATE TABLE, при этом база данных уже существует, вы получите сообщение об ошибке. ====create==== import sqlite3 conn = sqlite3.connect("mydatabase.db") # или :memory: чтобы сохранить в RAM cursor = conn.cursor() # Создание таблицы cursor.execute("""CREATE TABLE albums (title text, artist text, release_date text, publisher text, media_type text) """) conn .close() ====вставить запись в нашу базу данных. cursor.execute==== Здесь мы использовали команду INSERT INTO SQL чтобы вставить запись в нашу базу данных. Обратите внимание на то, что каждый объект находится в одинарных кавычках. Это может усложнить работу, если вам нужно вставить строчки, которые содержат одинарные кавычки. В любом случае, чтобы сохранить запись в базе данных, нам нужно создать её. import sqlite3 conn = sqlite3.connect("mydatabase.db") # или :memory: чтобы сохранить в RAM cursor = conn.cursor() # Вставляем данные в таблицу cursor.execute("""INSERT INTO albums VALUES ('Glow', 'Andy Hunter', '7/24/2012', 'Xplore Records', 'MP3')""" ) # Сохраняем изменения conn.commit() conn .close() ====multi запрос cursor.executescript==== cursor.executescript( ''' insert into users albums VALUES ('Glow', 'Andy Hunter', '7/24/2012','Xplore Records', 'MP3'); insert into users albums VALUES ('Glow', 'Andy mayer', '7/24/2014','Filips Records', 'MP3'); ''' ) ====Записать несколько строк cursor.executemany==== Следующая часть кода показывает, как добавить несколько записей за раз при помощи метода курсора executemany. Обратите внимание на то, что мы используем знаки вопроса (?), вместо строк замещения (%) чтобы вставить значения. Обратите внимание, что использование строки замещения не безопасно, так как может стать причиной появления атаки инъекций SQL . Использование знака вопроса намного лучше, а использование SQLAlchemy тем более, так как он делаете все необходимое, чтобы уберечь вас от правки встроенных одинарных кавычек на то, что SQLite в состоянии принимать. import sqlite3 conn = sqlite3.connect("mydatabase.db") # или :memory: чтобы сохранить в RAM cursor = conn.cursor() # Вставляем множество данных в таблицу используя безопасный метод "?" albums = [('Exodus', 'Andy Hunter', '7/9/2002', 'Sparrow Records', 'CD'), ('Until We Have Faces', 'Red', '2/1/2011', 'Essential Records', 'CD'), ('The End is Where We Begin', 'Thousand Foot Krutch', '4/17/2012', 'TFKmusic', 'CD'), ('The Good Life', 'Trip Lee', '4/10/2012', 'Reach Records', 'CD')] cursor.executemany("INSERT INTO albums VALUES (?,?,?,?,?)", albums) conn.commit() conn .close()