Встречается на 1% собеседований по Python
Какие знаешь способы загрузки данных в 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
интервью вопросы и ответы