在 MySQL 中,可以使用 CREATE TABLE 语句和 INSERT INTO 语句来复制表。以下是两种基本的方法:

1. 使用 CREATE TABLE 和 INSERT INTO:
   -- 创建新表,结构与原表相同
   CREATE TABLE new_table AS
   SELECT * FROM old_table;

   -- 或者只复制表结构而不复制数据
   CREATE TABLE new_table LIKE old_table;

   -- 将数据插入新表
   INSERT INTO new_table SELECT * FROM old_table;
   这将创建一个新表 new_table,其结构和数据与原表 old_table 相同。如果只想复制表结构而不复制数据,可以使用 CREATE TABLE new_table LIKE old_table;,然后再使用 INSERT INTO new_table SELECT * FROM old_table; 复制数据。

2. 使用 CREATE TABLE 和 INSERT INTO 复制表结构和部分数据:
   -- 创建新表,结构与原表相同
   CREATE TABLE new_table AS
   SELECT * FROM old_table
   WHERE condition;
   这将创建一个新表 new_table,其结构与原表 old_table 相同,但只复制符合指定条件的数据。

请注意,在复制表时要确保目标表不存在,或者使用合适的选项来处理冲突。如果目标表已经存在,可能需要先删除或重命名目标表。

这两种方法都适用于复制表的结构和数据,你可以根据实际需求选择合适的方法。如果只需复制表结构,而不需复制数据,第一种方法中的 CREATE TABLE new_table LIKE old_table; 是一个更轻量的选项。


转载请注明出处:http://www.zyzy.cn/article/detail/14104/MySQL