MariaDB - 表克隆

有些情况需要生成现有表的精确副本。 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;