加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql实例MySQL中复制数据表中的数据到新表中的操作教程

发布时间:2020-12-12 02:51:55 所属栏目:MySql教程 来源:网络整理
导读:《Mysql实例MySQL中复制数据表中的数据到新表中的操作教程》要点: 本文介绍了Mysql实例MySQL中复制数据表中的数据到新表中的操作教程,希望对您有用。如果有疑问,可以联系我们。 MySQL是不支持SELECT … INTO语法的,使用INSERT INTO … SELECT替代相同用法

《Mysql实例MySQL中复制数据表中的数据到新表中的操作教程》要点:
本文介绍了Mysql实例MySQL中复制数据表中的数据到新表中的操作教程,希望对您有用。如果有疑问,可以联系我们。

MySQL是不支持SELECT … INTO语法的,使用INSERT INTO … SELECT替代相同用法,下面我们我们这里简答分一下新表存在和不存在两种情况,具体使用不同的语句.
1.新表不存在
复制表结构即数据到新表
MYSQL教程

create table new_table
select * from old_talbe;

这种方法会将old_table中所有的内容都拷贝过来,用这种方法需要注意,new_table中没有了old_table中的primary key,Extra,auto_increment等属性,需要自己手动加,具体参看后面的修改表即字段属性.
只复制表结构到新表MYSQL教程

# 第一种方法,和上面类似,只是数据记录为空,即给一个false条件
create table new_table
select * from old_table where 1=2;
# 第二种方法
create table new_table like old_table;

2.新表存在
复制旧表数据到新表(假设两个表结构一样)
MYSQL教程

insert into new_table
select * from old_table;

复制旧表数据到新表(假设两个表结构不一样)
MYSQL教程

insert into new_table(field1,field2,.....)
select field1,field3 from old_table;

复制全部数据
MYSQL教程

select * into new_table from old_table;

只复制表结构到新表
MYSQL教程

select * into new_talble from old_table where 1=2;

3.实例MYSQL教程

(1)表不存在复制
MYSQL教程

mysql>show tables; 
+-----------------+ 
|Tables_in_test1 | 
+-----------------+ 
|cpu_stat    | 
|test1      | 
|test2      | 
|test3      | 
+-----------------+ 
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教程

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 | 
+----+-------+ 
| 1 | wu  | 
| 2 | terry | 
| 3 | tang | 
…… 
7 rows in set (0.00 sec) 

?
MYSQL教程

《Mysql实例MySQL中复制数据表中的数据到新表中的操作教程》是否对您有启发,欢迎查看更多与《Mysql实例MySQL中复制数据表中的数据到新表中的操作教程》相关教程,学精学透。编程之家PHP学院为您提供精彩教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读