有个情景是这样的:在mysql中,需要创建一张表b,要求b的表结构和现有表a的表结构一模一样,你可能会想到直接拷贝表a的创建语句(可以通过show create table a得到表a的创建语句),改下表名就可以了吧,没错,这样是可以的,但是我现在除了上边的要求,还要求在创建表b后放10条数据进去,那你又说了,我可以从表a中复制10条粘贴进去啊,好,没问题,要是我要求放到表b中10000条呢?虽然我们麻烦点可以实现,但是还有更简单的方法哦。
其实一个sql就可以做到了:
CREATE TABLE enterprise_credit_db_taxa_2 AS SELECT * FROM enterprise_credit_db_taxa LIMIT 0,10000
说明几点注意的地方:
1.limit语句可以不加,如果不加,就会在创建enterprise_credit_db_taxa_2之后,又把表enterprise_credit_db_taxa中的所有数据拷贝到了enterprise_credit_db_taxa_2中。
2.上面这条语句要求enterprise_credit_db_taxa_2表不存在,如果存在,再执行的话就会报错了,执行不成功
3.上面这条语句不会拷贝enterprise_credit_db_taxa表的索引,主键,外键信息,仅仅会把自己的表结构复制给enterprise_credit_db_taxa_2。
4.limit语句控制拷贝进新表数据的条数