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
)