通过删除和插入新表来保持表中的前1000行?

时间:2013-02-13 16:32:56

标签: sql ssms sequel

我正在削减一个小项目的数据库。我听说将表格缩小到1000行的最有效方法是将这1000行复制到新表中,然后重新命名新表。

有人可以告诉我这是否正确,大概该怎么做?

我知道如何选择前1000但不知道如何使用临时表等删除和创建表。

2 个答案:

答案 0 :(得分:1)

INSERT INTO NEW_TABLE
SELECT TOP 1000 * FROM OLD_TABLE

DROP TABLE OLD_TABLE

答案 1 :(得分:0)

您可以运行它来创建新表:

SELECT TOP 1000 * INTO NewTable FROM OldTable

使用SELECT INTO将创建一个新表。这种方法的缺点是你丢失了桌子上的钥匙。

或者,如果表存在,请使用

INSERT INTO NewTable SELECT * FROM OldTable

但是,如果你有一个身份字段,这不会起作用 - 你需要指定列名

INSERT INTO NewTable (Field1, Field2,...) SELECT Field1, Field2...

如您所见,这实际上取决于您的情况。

要放弃一张桌子,这很简单:

DROP TABLE OldTable
祝你好运。