SQL数据库中如何把一个表中的数据复制到另一个表中?

SQL数据库中如何把一个表中的数据复制到另一个表中?**

1整个表复制:**

insert into table1 
select  * 
from table2

2部分列复制:**

insert into table1(column1,column2,column3...) 
select column1,column2,colunm3... 
from table2

3一个数据库中的表中的数据复制到另一个数据库中的一个表中:

insert into 数据库A.dbo.table1(col1,col2,col3...) 
select col1,col2,col3... 
from 数据库B.dbo.table2

4创建新表跟原表一样的结构,并复制数据

select * into tableNew    from  table

5实践中的问题:

原本table_first是空表,cmdb.host_hostinfo_del的信息不能直接复制过来,
会报错:SQL 错误 [1136] [21S01]: Column count doesn’t match value count at row 1
在DBeaver中直接复制表,只能复制列,不能复制数据。
在此基础上,才选择了复制数据。代码如下:

insert into test_liu.table_first 
select  * 
from cmdb.host_hostinfo_del

当然可以创建新表跟原表一样的结构,并复制数据,

select * 
into tablenew    
from  table_first

出现问题:SQL 错误 [1327] [42000]: Undeclared variable: tablenew

在MySQL中使用以上会报错,如何解决?会报上边的错误,这是因为MySQL不支持这种语法,它的替代语法是这样的:

create table tablenew
(select  *
from table_first
)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

ITQING677

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值