Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建MySQL查询以从现有表创建表_Mysql - Fatal编程技术网

创建MySQL查询以从现有表创建表

创建MySQL查询以从现有表创建表,mysql,Mysql,我在MySQL数据库中有一个相当大且复杂的表,如果出现任何问题,必须手动为其构建查询以重新创建,这将是一件痛苦的事情 是否有什么方法可以获取MySQL或其他工具/脚本,以获得自动生成的查询,从而重新创建表的结构 理想情况下,如果您建议使用一个工具/脚本,它将用于Linux,您可以将表的结构从phpmyadmin导出到sql文件…您可以使用mysqldump工具导出mysql表的结构和数据 此外,任何备份方法,如mysqldump都应该为您提供保存结构和数据的选项。我完全同意其他人的看法: SH

我在MySQL数据库中有一个相当大且复杂的表,如果出现任何问题,必须手动为其构建查询以重新创建,这将是一件痛苦的事情

是否有什么方法可以获取MySQL或其他工具/脚本,以获得自动生成的查询,从而重新创建表的结构


理想情况下,如果您建议使用一个工具/脚本,它将用于Linux,您可以将表的结构从phpmyadmin导出到sql文件…

您可以使用mysqldump工具导出mysql表的结构和数据


此外,任何备份方法,如
mysqldump
都应该为您提供保存结构和数据的选项。

我完全同意其他人的看法:
SHOW CREATE TABLE `table_name`;
使用mysqldump,您可以得到表的转储(选项--tables),比如dumpMyTable.sql
然后,如果要在新架构上加载此转储:

mysql -uuser_name -ppassword MyNewSchema < dumpMyTable.sql
mysql-uuser\u name-ppassword MyNewSchema

如果要将其加载到同一架构中,但加载到新表中,则必须编辑dumpMyTable.sql文件并手动更改表的名称。如果转储文件非常大,我建议使用“sed”命令

您可以为此使用SQLYG。这个解决方案离这个工具只有2次点击。为此,您可以使用“数据库”菜单。您还可以仅复制架构或整个数据,甚至将两者都复制到不同的服务器。

from

要基于另一个表的定义(包括原始表中定义的任何列属性和索引)创建空表,请执行以下操作:

CREATE TABLE new_tbl LIKE orig_tbl;

从1=0的旧\u表中选择*创建新表\u表执行以下查询:

如果要复制主键、外键和 数据约束


mysqldump-u-p--无数据--tables>table.ddlwow就这么简单,要么我的谷歌技能不足,要么我的眼睛不工作。在考虑阅读手册的可能性之前,不要抱怨你的谷歌技能创建具有相同结构的新表,但不会将主键复制到新表。
CREATE TABLE new_tbl LIKE orig_tbl;
CREATE TABLE newtableName LIKE oldTableName; 
INSERT newtableName SELECT * FROM oldTableName;