MySQL从其他数据表或者查询结果中创建数据表

时间:2022-03-18 05:32:52

从其他数据表中创建数据表

从其他数据表中创建数据表,可以使用如下命令:

create table ... like ...

该语句将创建一个新的数据表作为原始数据表的一份空白副本。它将把原始数据表的所有列属性都会一摸一样的复制过来,但是数据表的内容是空的。如果我们想填充它,可以使用如下命令:

Insert into .. select ..

实例:

复制t4到t5中
MySQL从其他数据表或者查询结果中创建数据表

查看t4与t5结果
MySQL从其他数据表或者查询结果中创建数据表
数据的复制
MySQL从其他数据表或者查询结果中创建数据表

从查询结果中创建数据表

使用如下命令,从一个select语句中创建新的数据表。

create table ... select ...

该语句优点是不仅仅创建了数据表,还复制了数据表中的数据。缺点是该语句不会复制所有的数据 列属性,如索引、auto_increment等。因为结果集本身就不带索引等。
MySQL从其他数据表或者查询结果中创建数据表
可以看出t4中存在索引,但是t6中并不存在索引。