如何获取将在 PHPMyAdmin 中重新创建 sql 表的查询

Posted

技术标签:

【中文标题】如何获取将在 PHPMyAdmin 中重新创建 sql 表的查询【英文标题】:How to get query that would recreate sql table in PHPMyAdmin 【发布时间】:2011-10-22 10:31:02 【问题描述】:

我在 mysql 服务器上有一个表,并且想要获取将重新创建表的 SQL。

如何获取查询以重新创建 SQL 表?

【问题讨论】:

从命令行:mysqldump -u yourlogin -p your_database your_tablename。输入密码,然后将显示创建表语句。如果您想从 phpmyadmin GUI 获取它,请运行查询:show create table your_tablename How to take backup of a single table in a MySQL database?的可能重复 【参考方案1】:

MySQL 支持SHOW CREATE TABLE 返回用于创建表的 SQL。

来自他们的文档:

mysql> SHOW CREATE TABLE t;
CREATE TABLE t (
  id INT(11) default NULL auto_increment,
  s char(60) default NULL,
  PRIMARY KEY (id)
) ENGINE=MyISAM

如果您只有与数据库的连接,而不是服务器上的 CLI,这将很有用。如果您有 CLI,请像 liamgriffiths 推荐的那样使用 mysqldump。

【讨论】:

这不涉及复制行,我认为这是预期结果的一部分。【参考方案2】:

mysqldump 可以做到-http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

你可以这样使用它:

mysqldump [databasename] [tablename] > mysqltablesql.sql

【讨论】:

【参考方案3】:

如果您使用的是 phpMyAdmin,请选择一个表,然后单击“导出”选项卡。一种输出类型是 SQL。选择此项将生成一个 SQL 脚本来创建表并插入表中当前的所有数据。确保在转储数据选项下选择“结构和数据”

【讨论】:

谢谢,这对我来说是最好的答案。一个sql文件就是一个建库的指令列表,最上面是表结构的查询。【参考方案4】:

mysqldump [OPTIONS] 数据库 [tables]>backup-file.sql

如果您不提供任何表或使用 --databases 或 --all-databases,则整个数据库将被转储。

您可以通过执行 mysqldump --help 获取您的 mysqldump 版本支持的选项列表。

请注意,如果您在没有 --quick 或 --opt 的情况下运行 mysqldump,mysqldump 将在转储结果之前将整个结果集加载到内存中。如果您要转储大型数据库,这可能会成为问题。

【讨论】:

【参考方案5】:

如果您有权访问 phpMyAdmin,则可以通过所需表格上的“导出”选项卡获取此代码。

选择 SQL,然后确保导出“结构”(“创建表”代码)和“数据”(“插入”代码),并将导出类型设置为“插入”。

【讨论】:

【参考方案6】:

我会选择@liamgriffiths 的mysqldump 提案,但您也可以尝试create table <new-table-name> like <old-table-name>,然后是insert into <new-table-name> select * from <old-table-name>

【讨论】:

以上是关于如何获取将在 PHPMyAdmin 中重新创建 sql 表的查询的主要内容,如果未能解决你的问题,请参考以下文章

Phpmyadmin 中的更新触发器之前如何获取更新的值

phPmyAdmin,如何创建一个触发器,当有人更新一行中的任何列时,它将在特定列中添加一个“1”

如何使用phpmyadmin恢复在sql中意外删除的表

无法将 CSV 导入 PhpMyAdmin

phpmyadmin 无赖

重新登录到 phpmyadmin 后,存储过程在 mysql 中消失了