如何获取将在 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 表的查询的主要内容,如果未能解决你的问题,请参考以下文章