mysql中根据已有的表来创建新表的三种方式

mysql根据现有表创建新表

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

1、1 根据departments表创建新表departments1

departments 表结果和表数据库如下

在这里插入图片描述

创建departments1如下

使用命令:

CREATE TABLE departments1 LIKE departments; 

在这里插入图片描述

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


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

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

命令如下:

create table departments2 as select * from departments

在这里插入图片描述

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


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

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

命令如下:

CREATE TEMPORARY  TABLE departments3 as  SELECT * FROM departments;

在这里插入图片描述

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

猜你喜欢

转载自blog.csdn.net/m0_67929156/article/details/131622465