我的数据库中有一个名为'mytable'的表。我想清除它,以便我可以继续收集和分析它的“新数据”。
像
这样的东西conn = psycopg2.connect(database = mydb_name, host = mydb_server, user = mydb_uname, password = mydb_pwd)
cur = conn.cursor()
cur.execute("DROP TABLE mytable;")
不适合我,因为据我所知,这会摧毁桌子。我不想破坏/重新创建......只是为了清除所有数据。
我该如何解决这个问题?
答案 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;