psql - 如何在不丢弃表的情况下刷新数据库内容

时间:2013-03-29 22:14:11

标签: python psycopg2 postgresql-9.2 psql

我的数据库中有一个名为'mytable'的表。我想清除它,以便我可以继续收集和分析它的“新数据”。

这样的东西
conn = psycopg2.connect(database = mydb_name, host = mydb_server, user = mydb_uname, password = mydb_pwd)
cur = conn.cursor()
cur.execute("DROP TABLE mytable;")

不适合我,因为据我所知,这会摧毁桌子。我不想破坏/重新创建......只是为了清除所有数据。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:8)

 Truncate tablename

对此有用,表只会丢弃数据!

如果您有外键,则需要使用以下

 Truncate tablename CASCADE

许多表都喜欢这个

 Truncate table1, table2, table3

你的例子

 Cur.execute("truncate mytable;")

答案 1 :(得分:2)

此sql查询应删除表中的所有记录...

DELETE FROM mytable; // not DELETE * FROM mytable;