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

jml*_*jml 5 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;")
Run Code Online (Sandbox Code Playgroud)

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

我该如何解决这个问题?

8bi*_*cat 8

 Truncate tablename
Run Code Online (Sandbox Code Playgroud)

对此有用,表只停留数据!

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

 Truncate tablename CASCADE
Run Code Online (Sandbox Code Playgroud)

很多桌子都喜欢这样

 Truncate table1, table2, table3
Run Code Online (Sandbox Code Playgroud)

你的榜样

 Cur.execute("truncate mytable;")
Run Code Online (Sandbox Code Playgroud)