6

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

就像是

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

对我不起作用,因为据我了解,这会破坏桌子。我不想破坏/重新创建......只是为了刷新所有数据。

我怎样才能解决这个问题?

4

2 回答 2

9
 Truncate tablename

对此很有用,表只是删除数据!

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

 Truncate tablename CASCADE

对于许多表都这样

 Truncate table1, table2, table3

你的例子

 Cur.execute("truncate mytable;")
于 2013-03-29T22:32:46.257 回答
2

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

DELETE FROM mytable; // not DELETE * FROM mytable;
于 2013-03-29T22:26:59.470 回答