Встречается на собеседованиях • сегодня
Какие знаешь способы загрузки данных в SQL
В Python есть несколько способов загрузки данных в SQL-базы:
- SQLAlchemy ORM (рекомендуется для сложных проектов):
python
from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData
engine = create_engine('sqlite:///example.db')
metadata = MetaData()
users = Table('users', metadata,
Column('id', Integer, primary_key=True),
Column('name', String),
Column('age', Integer)
)
metadata.create_all(engine)
with engine.connect() as conn:
conn.execute(users.insert(), [
{'name': 'John', 'age': 30},
{'name': 'Jane', 'age': 25}
])
text
2. **SQLite3 (встроенная библиотека)**:
```python
import sqlite3
conn = sqlite3.connect('example.db')
c = conn.cursor()
c.execute("INSERT INTO users VALUES (1, 'John', 30)")
conn.commit()
conn.close()- Pandas + SQLAlchemy (для больших датасетов):
python
import pandas as pd
from sqlalchemy import create_engine
df = pd.DataFrame({'name': ['John', 'Jane'], 'age': [30, 25]})
engine = create_engine('sqlite:///example.db')
df.to_sql('users', engine, if_exists='append', index=False)- Psycopg2 (для PostgreSQL):
python
import psycopg2
conn = psycopg2.connect("dbname=test user=postgres")
cur = conn.cursor()
cur.execute("INSERT INTO users VALUES (%s, %s)", ("John", 30))
conn.commit()Для оптимизации больших вставок используйте:
- Пакетную вставку (executemany)
- Транзакции (BEGIN/COMMIT)
- Временное отключение индексов

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы