如何在不从数据库表复制数据的情况下创建表结构?

时间:2014-02-26 13:29:42

标签: mysql sql

我被问到“如何在不从数据库表中复制数据的情况下创建表结构?”我的答案非常肯定。我的回答是:“

CREATE TABLE new_table AS (SELECT *FROM old_table);

我是对还是错?

4 个答案:

答案 0 :(得分:2)

CREATE TABLE new_table AS (SELECT * FROM old_table where 0=1);

答案 1 :(得分:1)

没有。你的答案是不正确的。您可以使用此SQL查询。

CREATE TABLE *new_table* AS (SELECT *FROM *old_table* WHERE *statement=false*);

像这样的例子如下:

CREATE TABLE *new_table* AS (SELECT *FROM *old_table* WHERE *1=2*);

我认为这符合你的目的......:P

答案 2 :(得分:0)

CREATE TABLE new_table AS SELECT * FROM old_table where 0=1;

在where子句中,我们可以使用任何不等式语句,例如1 = 2,2 = 3..etc。,这应该通知优化器这个'where'条件肯定会返回false,从而阻止从old_table复制任何数据

答案 3 :(得分:-1)

如果您使用的是工作台,则在屏幕左侧“数据导出”中有一个选项 只需单击它,然后选择要复制结构的数据库,然后会有一个下拉选项选择“仅转储结构”并导出到文件夹。

使用选项数据导入还原将文件导入到任何需要的位置,然后选择路径并键入新的架构名称并导入。您有了具有所需结构的新架构。