首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有alter语句的phpMyAdmin导出数据库创建脚本

问没有alter语句的phpMyAdmin导出数据库创建脚本
EN

Stack Overflow用户
提问于 2017-10-08 16:56:22
回答 1查看 2.1K关注 0票数 1

我可以通过以下方法获得创建特定表的查询:

代码语言:javascript
复制
SHOW CREATE TABLE `table_name`

如果对所有表执行此操作,则可以通过运行收集的sql查询重新创建整个数据库。是否有一种更简单的方法来获得表创建脚本,即script,它使用CREATE语句创建数据库?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-08 17:41:16

我会用mysqldump解决这个问题。它是MySQL附带的命令行工具。以下是文档:https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html

您可以在命令提示符下运行它,而不是在phpMyAdmin中。您必须能够访问运行MySQL服务器的同一主机的shell环境,或者至少可以通过网络访问该主机。

例如:

代码语言:javascript
复制
mysqldump --no-data mydatabase mytable

产出如下:

代码语言:javascript
复制
--
-- Table structure for table `mytable`
--

DROP TABLE IF EXISTS `mytable`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `mytable` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `c1` int(11) DEFAULT NULL,
  `c2` int(11) DEFAULT NULL,
  `c3` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4;

(还有更多我忽略的输出。)

您可以以这种方式同时转储多个表的结构,还可以查看、触发器、过程等。

如果不使用--no-data,则它还包括转储的每个表中的数据。这使得它成为数据备份的有效工具。默认情况下,它以大量INSERT语句的形式转储数据。因此,就像CREATE语句可以在另一个MySQL实例上运行数据库结构一样,INSERT语句也可以重新创建数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46633669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档