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

3

我在论文答辩中被问到“如何创建一个表结构而不复制数据库表中的数据?”我很确定我的回答。我的答案是:

CREATE TABLE new_table AS (SELECT *FROM old_table);

我的答案正确吗?


1
我认为你正在寻找“创建类似表”的功能。 - Gordon Linoff
1
CREATE TABLE new_table AS (SELECT *FROM old_table WHERE 1=0); - Sergey Kalinichenko
看看这篇帖子是否有帮助... https://dev59.com/uXVC5IYBdhLWcg3woCnN - Sarah
4个回答

2
CREATE TABLE new_table AS (SELECT * FROM old_table where 0=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

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

在where子句中,我们可以使用任何不等语句,例如where 1=2,2=3等等。这将告诉优化器该'where'条件肯定会返回false,从而防止任何数据从old_table复制。


-1

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

在任何地方使用“数据导入还原”选项导入此文件,选择路径和类型新模式名称并导入。您将拥有所需结构的新模式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接