某些情况需要生成现有表的精确副本. CREATE ... SELECT语句无法生成此输出,因为它忽略了索引和默认值之类的内容.
复制表的过程如下 :
利用SHOW CREATE TABLE生成一个CREATE TABLE语句,详细说明源表的整个结构.
编辑语句以为表提供新名称并执行它.
使用INSERT INTO ... SELECT语句如果你还需要复制表数据.
mysql> INSERT INTO inventory_copy_tbl ( product_id,product_name,product_manufacturer,ship_date) SELECT product_id,product_name,product_manufacturer,ship_date, FROM inventory_tbl;
创建副本的另一种方法是使用CREATE TABLE AS语句.该语句复制所有列,列定义,并使用源表的数据填充副本.
查看下面给出的语法 :
CREATE TABLE clone_tbl AS SELECT columns FROM original_tbl WHERE conditions];
查看下面和下面使用它的示例;
CREATE TABLE products_copy_tbl AS SELECT * FROM products_tbl;