sqlalchemy 如何清空某个数据表?
时间: 2023-11-04 11:04:12 浏览: 740
使用 SQLAlchemy 清空某个数据表可以通过以下两种方式实现:
1. 使用 `truncate` 方法
```python
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
engine = create_engine('postgresql://user:password@host:port/database')
Session = sessionmaker(bind=engine)
session = Session()
# 清空 table_name 表
session.execute('TRUNCATE TABLE table_name;')
session.commit()
```
2. 使用 `delete` 方法
```python
from sqlalchemy import create_engine, MetaData, Table
engine = create_engine('postgresql://user:password@host:port/database')
metadata = MetaData(engine)
table_name = Table('table_name', metadata, autoload=True)
# 清空 table_name 表
table_name.delete().execute()
```
这两种方式都可以用于清空指定的数据表,不同的是 `truncate` 方法是直接删除数据,而 `delete` 方法是逐行删除数据,所以 `truncate` 方法的执行效率会更高。但需要注意的是,`truncate` 方法会将表的自增长 id 重置为 1,而 `delete` 方法则不会重置 id。
阅读全文