1. 复制表结构及数据到新表
CREATE TABLE 新表 SELECT * FROM 旧表;
这种方法会复制 旧表 中的所有内容到 新表,但新表不会保留原表的主键、自动递增等属性。为了保持这些属性,需要使用 ALTER 语句进行后续处理
2. 只复制表结构到新表
- 使用条件始终为假的查询:
CREATE TABLE 新表 AS SELECT * FROM 旧表 WHERE 1=2;
- 或者使用
LIKE
语句(如果数据库支持):
CREATE TABLE 新表 LIKE 旧表;
这两种方法都将只创建新表的结构,不会复制数据。
3. 复制旧表的数据到新表(假设结构相同)
INSERT INTO 新表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 旧表;
在此情况下,你需要指定要插入的字段,以确保正确映射。
5. 将表1结构复制到表2
SELECT * INTO 表2 FROM 表1 WHERE 1=0;
这种方法将创建一个名为 表2 的新表,具有 表1 的结构,但不包含任何数据。
SELECT * INTO:这部分会创建一个新表并将选定的数据插入到该表中。
WHERE 1=0:这个条件始终为假,因此不会选取任何数据。这样会导致新表仅包含结构而不包含任何行
6. 将表1内容全部复制到表2
SELECT * INTO 表2 FROM 表1;
此命令将复制 表1
中的所有数据到 表2
,同时创建新表。
7. 显示创建表的语句
SHOW CREATE TABLE 旧表;
该命令将返回 旧表 的创建语句,你可以复制并修改表名,以创建一个完全相同的新表。
来源笔记云