Чтобы вставить несколько записей в базу данных SQLite с помощью Python, вы можете использовать несколько методов. Вот некоторые часто используемые подходы:
- Выполнение нескольких операторов INSERT. Вы можете выполнить несколько операторов INSERT, используя цикл в Python. Каждый оператор INSERT вставляет в базу данных одну запись. Этот метод подходит, если вам нужно вставить небольшое количество записей.
import sqlite3
# Connect to the database
conn = sqlite3.connect('your_database.db')
cursor = conn.cursor()
# List of records to insert
records = [('John', 'Doe', 25),
('Jane', 'Smith', 30),
('Bob', 'Johnson', 35)]
# Execute INSERT statements for each record
for record in records:
cursor.execute("INSERT INTO your_table (first_name, last_name, age) VALUES (?, ?, ?)", record)
# Commit the changes and close the connection
conn.commit()
conn.close()
- Использование метода выполнения(). Метод выполнения() позволяет вставлять несколько записей в одну транзакцию базы данных. Он принимает список кортежей, где каждый кортеж представляет собой вставляемую запись.
import sqlite3
# Connect to the database
conn = sqlite3.connect('your_database.db')
cursor = conn.cursor()
# List of records to insert
records = [('John', 'Doe', 25),
('Jane', 'Smith', 30),
('Bob', 'Johnson', 35)]
# Execute executemany() to insert multiple records
cursor.executemany("INSERT INTO your_table (first_name, last_name, age) VALUES (?, ?, ?)", records)
# Commit the changes and close the connection
conn.commit()
conn.close()
- Использование Pandas. Если у вас есть данные в DataFrame Pandas, вы можете использовать метод to_sql(), чтобы вставить весь DataFrame в таблицу базы данных SQLite.
import sqlite3
import pandas as pd
# Connect to the database
conn = sqlite3.connect('your_database.db')
# Create a Pandas DataFrame
data = {'first_name': ['John', 'Jane', 'Bob'],
'last_name': ['Doe', 'Smith', 'Johnson'],
'age': [25, 30, 35]}
df = pd.DataFrame(data)
# Insert the DataFrame into a database table
df.to_sql('your_table', conn, if_exists='append', index=False)
# Close the connection
conn.close()