mysql根据现有表创建新表

1、语法1:CREATE TABLE new_tbl LIKE orig_tbl;

1、1 根据departments表创建新表departments1 departments 表结果和表数据库如下

image.png

创建departments1如下

使用命令:

1
CREATE TABLE departments1 LIKE departments;

image.png

这种语法,将从源表复制列名、数据类型、大小、非空约束以及索引和主键。而表的内容以及其它约束不会复制,新表是一张空表。

2、语法2:CREATE TABLE new_tbl [AS] SELECT {*|column,…} FROM orig_tbl;

2、1 根据departments表创建新表departments2

命令如下:

1
create table departments2 as select * from departments

image.png

新表的结构由select列表决定。同时把查询返回的结果集中的行插入到目标表中。这种语法同样只能把非空约束带入到新表中。也不会复制索引,主键

3、语法3:CREATE TEMPORARY TABLE new_tbl [AS] SELECT {*|column,…} FROM orig_tbl;

3、1 根据departments表创建新表departments3

命令如下:

1
CREATE TEMPORARY  TABLE departments3 as  SELECT * FROM departments;


image.png

新表的结构由select列表决定。同时把查询返回的结果集中的行插入到目标表中。这种语法同样只能把非空约束带入到新表中。也不会复制索引,主键


转自:https://blog.csdn.net/m0_67929156/article/details/131622465