Как удалить все записи из таблицы в БД
Python
Middle
Без компании
Как удалить все записи из таблицы в БД
Ответы
Для удаления всех записей из таблицы в SQL можно использовать команду `TRUNCATE TABLE` или `DELETE FROM`. Вот различия и примеры:
```
-- Быстрое удаление всех записей (нельзя откатить, сбрасывает автоинкремент)
TRUNCATE TABLE table_name;
-- Удаление с возможностью WHERE и транзакций (можно откатить)
DELETE FROM table_name;
```
В Python с использованием SQLAlchemy:
```
from sqlalchemy import create_engine, MetaData, Table
engine = create_engine('sqlite:///mydb.db')
metadata = MetaData()
my_table = Table('my_table', metadata, autoload_with=engine)
# Способ 1
with engine.connect() as conn:
conn.execute(my_table.delete())
conn.commit()
# Способ 2 (если нужен TRUNCATE)
with engine.connect() as conn:
conn.execute(text("TRUNCATE TABLE my_table"))
conn.commit()
```
Важно: `TRUNCATE` работает быстрее, но не поддерживает WHERE и не вызывает триггеры. `DELETE` медленнее, но более гибкий. Для больших таблиц предпочтительнее `TRUNCATE`.