1、复制表结构以及数据
create table d_table_name as select * from s_table_name; ---注意并不会创建索引
2、只复制表结构
create table d_table_name as select * from s_table_name where 1=2;
3、只复制数据
(1)、两个表结构一样
insert into d_table_name select * from s_table_name;
(2)、两个表的结构不一样,只复制部分列
insert into d_table_name (column1,column2,column3) select column1x,column2x,column3x from s_table_name;
1. delete和truncate都是删除表中的内容而不能删除表的结构,而drop则是删除表的结构和内容(表将不复存在);
2. delete可以删除整个表的数据也可以有选择性地删除某一条或多条数据,而truncate则是一次性删除整个表的数据;
3. 使用delete删除的表数据并没有真正被删掉,数据占用的表空间还存在,相当于Windows中将数据删除到回收站中,日后有需要还可以恢复;
4. 使用truncate删除的表数据会连同其占用的表空间一起直接被删掉,相当于Windows中使用del+shift键直接删除文件一样,无法恢复。