mysql数据库表如何将相同数据库中的一个表的数据复制到另一个表中?

mysql怎么复制一个数据库中的一张表到另外一个数据库
Insert into db1.table1 select * from db2.table2就行
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。MySQL中复制数据表中的数据到新表中的操作教程
核心提示:这篇文章主要介绍了MySQL中复制数据表中的数据到新表中的操作教程,文中分为新表存在和新表不存在两种情况来讲,需要的朋友可以参考下MySQL是不支持SELECT … INTO语法的,使用INSERT INTO … SELECT替代相同用法,下面我们我们这里简答分一下新表存在和不存在两种情况,具体使用不同的语句。
1.新表不存在
复制表结构即数据到新表
create table new_table
select * from old_
这种方法会将old_table中所有的内容都拷贝过来,用这种方法需要注意,new_table中没有了old_table中的primary key,Extra,auto_increment等属性,需要自己手动加,具体参看后面的修改表即字段属性.
只复制表结构到新表
# 第一种方法,和上面类似,只是数据记录为空,即给一个false条件
create table new_table
select * from old_table where 1=2;
# 第二种方法
create table new_table like old_
2.新表存在
复制旧表数据到新表(假设两个表结构一样)
insert into new_table
select * from old_
复制旧表数据到新表(假设两个表结构不一样)
insert into new_table(field1,field2,.....)
select field1,field2,field3 from old_
复制全部数据
select * into new_table from old_
只复制表结构到新表
select * into new_talble from old_table where 1=2;
(1)表不存在复制
+-----------------+
|Tables_in_test1 |
+-----------------+
+-----------------+
4rows in set (0.02 sec)
mysql& create tabletest4 as select * from test1 where 1=0;
//仅复制表结构
QueryOK, 0 rows affected (0.06 sec)
Records:0 Duplicates: 0 Warnings: 0
mysql& create tabletest5 as select * from test1;
//把表test1所有内容复制为test5
QueryOK, 7 rows affected (0.11 sec)
Records:7 Duplicates: 0 Warnings: 0
(2)表已经存在复制
mysql& create table test6(id int not null auto_increment primary key, name varchar(20));
Query OK, 0 rows affected (0.13 sec)
mysql& insert into test6(name) select name from test1;
//只复制name列
Query OK, 7 rows affected (0.06 sec)
Records: 7 Duplicates: 0 Warnings: 0
mysql& select * from test6;
+----+-------+
| id | name |
+----+-------+
| 2 | terry |
| 3 | tang |
7 rows in set (0.00 sec)mysql把一个数据库中的数据复制到另一个数据库中的表 2个表结构相同_百度知道
mysql把一个数据库中的数据复制到另一个数据库中的表 2个表结构相同
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
1。表结构相同的表,且在同一数据库(如,table1,table2)Sql :insert into table1 select * from table2 (完全复制)
insert into table1 select distinct * from table2(不复制重复纪录)
insert into table1 select top 5 * from table2 (前五条纪录)2。
不在同一数据库中(如,db1 table1,db2 table2)sql:
insert into db1..table1 select * from db2..table2 (完全复制)
insert into db1..table1 select distinct * from db2table2(不复制重复纪录)
insert into tdb1..able1 select top 5 * from
db2table2 (前五条纪录)
采纳率:37%
ice千 正解!
为您推荐:
其他类似问题
mysql的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。MySql中把一个表的数据插入到另一个表中的实现代码
MySql中把一个表的数据插入到另一个表中的实现代码
司的一个项目,做报表--要关联的表结构比较多,最后决定把要用的数据集合到一张新表中,需要用到以下的sql语法......分享下:
web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码。下面我以为例分情况一一说明:
1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:
INSERT INTO 目标表 SELECT * FROM 来源表;
insert into insertTest select * from insertTest2;
2.如果只希望导入指定字段,可以用这种方法:
INSERT INTO 目标表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 来源表;(这里的话字段必须保持一致)
insert into insertTest2(id) select id from insertTest2;
3.如果您需要只导入目标表中不存在的记录,可以使用这种方法:
INSERT INTO 目标表
(字段1, 字段2, ...)
SELECT 字段1, 字段2, ...
FROM 来源表
WHERE not exists (select * from 目标表
where 目标表.比较字段 = 来源表.比较字段);
1&.插入多条记录:
insert into insertTest2
select id,name
from insertTest
where not exists (select * from insertTest2
where insertTest2.id=insertTest.id);
2&.插入一条记录:
insert into insertTest
(id, name)
SELECT 100, 'liudehua'
WHERE not exists (select * from insertTest
where insertTest.id = 100);}

我要回帖

更多关于 mysql数据库创建表 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信