📅  最后修改于: 2020-11-27 05:36:14             🧑  作者: Mango
在某些情况下,需要生成现有表的精确副本。 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;