MySQL创建表 复制其他表的结构

语法1:
CREATE TALBE 表名 LIKE 被复制表名;

CREATE TALBE test_table LIKE sakila.country;
说明
表结构:完整地复制表结构,包括索引和字段结构。
数据:不复制数据。

语法2:
CREATE TALBE 表名 AS SELECT * FROM 被复制表名;

CREATE TALBE test_table AS SELECT * FROM sakila.country;
说明
①AS可省略
②表结构:
不复制索引,只复制字段结构;
不复制 自增列属性 auto_increment;
默认值受影响(因为缺失Key尤其是Primary Key限制和自增等)。
③数据:复制数据。


语法3:
CREATE TALBE 表名 AS SELECT * FROM 被复制表名 WHERE 1=0;
例 
CREATE TALBE test_table AS SELECT * FROM sakila.country WHERE 1=0;
说明
①AS可省略
②表结构同语法2:
不复制索引,只复制字段结构;
不复制 自增列属性 auto_increment;
默认值受影响(因为缺失Key尤其是Primary Key限制和自增等)。
③数据:不复制数据。
 

本文使用的MySQL版本:
mysql> SHOW VARIABLES LIKE 'VERSION';
+---------------+--------+
| Variable_name | Value  |
+---------------+--------+
| version       | 8.0.12 |
+---------------+--------+
1 row in set, 1 warning (0.00 sec)

参考:
https://blog.csdn.net/leshami/article/details/46800847

发布了26 篇原创文章 · 获赞 2 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Olivia_Vang/article/details/100515970