MySQL中使用cmd命令行复制数据表

时间:2024-04-09 15:09:50

为了开放时测试方便,有时我们需要 以原有数据表为基础,创建相同结构和数据的新数据表,避免直接操作运行的元数据库,从而认为引发的数据的不安全性.

第一种:
通过原有数据表,直接赋值产生新的数据表(包括结构和内容)
– 1.创建新表,并复制数据表结构,如图1.
create table newtable like oldtable
– 2.复制数据表中的数据记录.如图2
insert into newtable select * from oldtable
实例如下:
图1.
MySQL中使用cmd命令行复制数据表
图2.
MySQL中使用cmd命令行复制数据表

第二种:
直接创建表,复制表结构和表记录,但是约束条件却与源数据表中的约束条件不同,需要自己手动设置.具体如图3
create table exam_new select * from exam;
图3.
MySQL中使用cmd命令行复制数据表

第三种:
部分字段的复制(复制的字段无约束条件): 如图4
create table exam_new
(
select id,name from exam
);
图4:
MySQL中使用cmd命令行复制数据表

第四种:
创建表的同时定义表中的某些字段信息,如图5
create table exam_new
(
id int primaty key atuo_increment
)
(
select * from exam
)
图5:
MySQL中使用cmd命令行复制数据表

具体使用场景根据实际情况而定.下面的其他方法不在上图
其他方法:
1.根据条件设置,自行筛选获取数据表中的数据
create table exam_new
(
select * from exam where english>95
)

create table exma_new
(
select * from where left(name,1)=’李’
)

2.跨数据库的复制数据的复制数据表,
create table this.exam_new like 数据库1.exam;
create table 数据库2.exam_new like 数据库1.exam;

3.show create table exam;
会将旧表的创建命令列出,然后只需要将该命令拷贝出来,更改table的名字,就可以建立一个完全一样的表.本人觉得比较麻烦,不建议使用!!!!(也有可能我没发现它的精髓呢! hehe:)