Какие знаешь запросы к БД
Python
Middle
Без компании
Какие знаешь запросы к БД
Ответы
В Python для работы с БД чаще всего используются ORM (например, SQLAlchemy, Django ORM) или низкоуровневые драйверы (psycopg2, sqlite3). Основные типы запросов:
- **SELECT** – выборка данных:
```
# SQLAlchemy
users = session.query(User).filter(User.age > 18).all()
# SQL
cursor.execute("SELECT * FROM users WHERE age > %s", (18,))
```
- **INSERT** – добавление данных:
```
# Django ORM
User.objects.create(name='Alice', age=25)
# SQLite
cursor.execute("INSERT INTO users VALUES (?, ?)", ('Alice', 25))
```
- **UPDATE** – обновление данных:
```
# SQLAlchemy
session.query(User).filter_by(id=1).update({'name': 'Bob'})
# PostgreSQL
cursor.execute("UPDATE users SET name = %s WHERE id = %s", ('Bob', 1))
```
- **DELETE** – удаление данных:
```
# Django ORM
User.objects.filter(age__lt=18).delete()
# SQL
cursor.execute("DELETE FROM users WHERE age < 18")
```
Также важны JOIN-запросы, транзакции (BEGIN/COMMIT), агрегатные функции (COUNT, SUM) и индексы для оптимизации. Важно использовать параметризованные запросы для защиты от SQL-инъекций.