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