如何复制表结构、如何复制表数据:

1. 复制表的结构及其中的数据:

create table new_table_name as select * from old_table_name

2. 只复制表的结构:

create table new_table_name as select * from old_table_name where 1=2;(这里的“常量条件”1=2是恒不成立的,这句话我的理解是这样的:如果在不加where条件时,会复制表结构和表里的全部数据,加上一个条件 1=2后,就是说找不到符合这个条件的记录,当然就不会再往里插数据了,可见不仅仅是1=2,像1=3,1<>1等等这些恒不成立的条件都可以代替这个1=2,结果一样。由些我明白了:有用此语句复制表及数据时,这些数据是可以通过后边加一个where条件来进行有选择性的复制的,说白了,想要哪条记录就复制哪条记录。)

    or

create table new_table_name like old_table_name (此句自己试过,没法执行,也没查到相关信息,各位路人如果知道,还望不吝赐教)

3. 只复制表数据:

若两个表的结构相同:

insert into new_table_name select * from old_table_name

若两个表的结构不同:

insert into new_table_name(col1,col2...) select col1,col2... from old_table_name

原文地址:https://www.cnblogs.com/next-open/p/3536977.html