Mariadb 简明教程

MariaDB - Table Cloning

有些情况下需要生成现有表的精确副本。CREATE…​SELECT 语句无法生成此输出,因为它忽略了诸如索引和默认值之类的内容。

复制表的步骤如下 −

  1. 利用 SHOW CREATE TABLE 生成 CREATE TABLE 语句来详细说明源表的整个结构。

  2. 编辑语句以向表提供一个新名称,然后执行它。

  3. 如果您还需要复制表数据,请使用 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;