phpMyAdmin的出口数据库创建脚本

问题描述:

我可以查询通过创建特定表:phpMyAdmin的出口数据库创建脚本

SHOW CREATE TABLE `table_name` 

如果我这样做了所有的表,我可以通过运行收集SQL重建整个数据库查询。有没有更简单的方法来获得表创建脚本,即sql导出文件,它只是通过使用CREATE语句创建数据库?

+0

意外的声明开始: (在位置0处的“mysqldump”附近) – user2340939

+0

'mysqldump'是您运行的程序,而不是SQL语句。 –

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

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

例如:

mysqldump --no-data mydatabase mytable 

的输出效果:(。还有的说我忽略多个输出)

-- 
-- 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 TABLE语句可以重新创建数据库的结构(如果您针对另一个MySQL实例运行它们),INSERT语句可以重新创建数据。