我在数据库数据库中有一个表ABC.我想在同一数据库中创建名为ABC_1、ABC_2、ABC_3的ABC副本.我如何使用Management Studio(最好)或SQL查询来实现这一点?

这是针对SQL Server 2008 R2的.

推荐答案

使用SELECT ... INTO:

SELECT *
INTO ABC_1
FROM ABC;

这将创建一个新的表ABC_1,它与ABC具有相同的列 struct ,并且包含相同的数据.但是,约束(例如键、默认值)不会被复制.

每次可以使用不同的表名多次运行此查询.


如果不需要复制数据,只需创建具有相同列 struct 的新空表,请添加一个带有falsy表达式的WHERE子句:

SELECT *
INTO ABC_1
FROM ABC
WHERE 1 <> 1;

Sql相关问答推荐

使用子查询和连接更新PostgreSQL

SQL Oracle条件分组依据

在SQL中使用类别值将行转置为列

从数据库中查找总和大于或等于查询中的数字的数字

正在编写查询.我需要将订阅的时间段分为第一个订阅中包含的另一个订阅之前和之后的时间段

以一致的价值获得独特的价值

如何在AWS Athena中 Select JSON数组的最后一个元素?

将SQL Server查询改进为;线程安全;

Snowflake 中的分层数据

在 PostgreSQL 中使用 ltree 列进行累积

如何判断小数点后千位是否不为0

计算组内多个日期间隔go 年的累计天数

使用长 IN 子句的 SQL 优化

我们可以使用连接改进包含多个子查询的查询吗

snowflake中的动态文件名生成

如何在 postgres 中旋转某些数据字段

每个ID的SQL返回可能的最低级别及其值

如何创建一个递归计数器来查找一个元素有多少父级和子级?

使用ALTER TABLE无法删除列

我现在如何显示重复的汽车? postgresql