使用mysqldump命令行导出mysql数据库指定表的数据和结构:
实例,首先建一个数据库,命名为数据库 “school_2”,并在下面建立两个表:“student2”、“students3”:

讯享网
1.备份该数据库数据和结构:
mysqldump -uroot -p school_2>F:\Study\SQL\test1.sql
讯享网
其中root 为对应用户名和密码,school_2为要操作数据库名称
备份后的sql语句如下:
讯享网DROP TABLE IF EXISTS `student2`; CREATE TABLE `student2` ( `id` INT NOT NULL AUTO_INCREMENT COMMENT '学员ID', `name` VARCHAR(100) NOT NULL COMMENT '学院姓名', `age` VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '学院年龄', PRIMARY KEY (`id`) ) ENGINE=INNODB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb3; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `student2` -- LOCK TABLES `student2` WRITE; /*!40000 ALTER TABLE `student2` DISABLE KEYS */; INSERT INTO `student2` VALUES (1,'haode','15'),(4,'xiao','19'); /*!40000 ALTER TABLE `student2` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `students3` -- DROP TABLE IF EXISTS `students3`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `students3` ( `id` INT NOT NULL AUTO_INCREMENT COMMENT '学号', `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名', `pwd` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '密码', `sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别', `birthday` DATETIME DEFAULT NULL COMMENT '出生日期', `address` VARCHAR(100) DEFAULT NULL COMMENT '邮箱', `number` INT DEFAULT NULL, `numbers` INT DEFAULT NULL, `chanumber` VARCHAR(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `FK_sex` (`number`), CONSTRAINT `FK_sex` FOREIGN KEY (`number`) REFERENCES `student2` (`id`) ) ENGINE=INNODB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb3; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `students3` -- LOCK TABLES `students3` WRITE; /*!40000 ALTER TABLE `students3` DISABLE KEYS */; INSERT INTO `students3` VALUES (1,'2','','女',NULL,NULL,NULL,NULL,NULL),(2,'3','','女',NULL,NULL,NULL,NULL,NULL); /*!40000 ALTER TABLE `students3` ENABLE KEYS */; UNLOCK TABLES;
2.只备份数据库结构:
mysqldump -uroot -p school_2 -d>F:\Study\SQL\test2.sql
其中root 为对应用户名和密码,school_2为要操作数据库名称,-d表示结构的命令,导出的sql语句如下,这里已经没有了数据:
讯享网DROP TABLE IF EXISTS `student2`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `student2` ( `id` INT NOT NULL AUTO_INCREMENT COMMENT '学员ID', `name` VARCHAR(100) NOT NULL COMMENT '学院姓名', `age` VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '学院年龄', PRIMARY KEY (`id`) ) ENGINE=INNODB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb3; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `students3` -- DROP TABLE IF EXISTS `students3`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `students3` ( `id` INT NOT NULL AUTO_INCREMENT COMMENT '学号', `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名', `pwd` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '密码', `sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别', `birthday` DATETIME DEFAULT NULL COMMENT '出生日期', `address` VARCHAR(100) DEFAULT NULL COMMENT '邮箱', `number` INT DEFAULT NULL, `numbers` INT DEFAULT NULL, `chanumber` VARCHAR(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `FK_sex` (`number`), CONSTRAINT `FK_sex` FOREIGN KEY (`number`) REFERENCES `student2` (`id`) ) ENGINE=INNODB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb3;
3.只备份数据库数据:
mysqldump -uroot -p school_2 -t>F:\Study\SQL\test3.sql
其中root 为对应用户名和密码,school_2为要操作数据库名称,-t 表示只备份数据的命令,备份后的sql语句如下:
讯享网LOCK TABLES `student2` WRITE; /*!40000 ALTER TABLE `student2` DISABLE KEYS */; INSERT INTO `student2` VALUES (1,'haode','15'),(4,'xiao','19'); /*!40000 ALTER TABLE `student2` ENABLE KEYS */; UNLOCK TABLES; -- -- Dumping data for table `students3` -- LOCK TABLES `students3` WRITE; /*!40000 ALTER TABLE `students3` DISABLE KEYS */; INSERT INTO `students3` VALUES (1,'2','','女',NULL,NULL,NULL,NULL,NULL),(2,'3','','女',NULL,NULL,NULL,NULL,NULL); /*!40000 ALTER TABLE `students3` ENABLE KEYS */; UNLOCK TABLES;
4.备份数据库指定表的结构和数据:
mysqldump -uroot -p school_2 student2 >F:\Study\SQL\test5.sql
其中root 为对应用户名和密码,school_2为要操作数据库名称,student2为对应表名,导出后的sql语句如下:
讯享网DROP TABLE IF EXISTS `student2`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `student2` ( `id` INT NOT NULL AUTO_INCREMENT COMMENT '学员ID', `name` VARCHAR(100) NOT NULL COMMENT '学院姓名', `age` VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '学院年龄', PRIMARY KEY (`id`) ) ENGINE=INNODB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb3; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `student2` -- LOCK TABLES `student2` WRITE; /*!40000 ALTER TABLE `student2` DISABLE KEYS */; INSERT INTO `student2` VALUES (1,'haode','15'),(4,'xiao','19'); /*!40000 ALTER TABLE `student2` ENABLE KEYS */; UNLOCK TABLES;
5.备份数据指定表的结构:
mysqldump -uroot -p school_2 student2 -d>F:\Study\SQL\test6.sql
其中root 为对应用户名和密码,school_2为要操作数据库名称,student2为对应表名,-d表示结构,导出后的sql语句如下:

讯享网DROP TABLE IF EXISTS `student2`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `student2` ( `id` INT NOT NULL AUTO_INCREMENT COMMENT '学员ID', `name` VARCHAR(100) NOT NULL COMMENT '学院姓名', `age` VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '学院年龄', PRIMARY KEY (`id`) ) ENGINE=INNODB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb3;
6.备份数据指定表的数据:
mysqldump -uroot -p school_2 student2 -t >F:\Study\SQL\test7.sql
其中root 为对应用户名和密码,school_2为要操作数据库名称,student2为对应表名,-t表示数据,导出后的sql语句如下:
讯享网LOCK TABLES `student2` WRITE; /*!40000 ALTER TABLE `student2` DISABLE KEYS */; INSERT INTO `student2` VALUES (1,'haode','15'),(4,'xiao','19'); /*!40000 ALTER TABLE `student2` ENABLE KEYS */; UNLOCK TABLES;
7.备份数据库中多个表的数据和结构:
mysqldump -uroot -p school_2 student2 students3 >F:\Study\SQL\test9.sql
其中root 为对应用户名和密码,school_2为要操作数据库名称,student2、students3为对应表名:
8.备份数据库中多个表的数据:
讯享网mysqldump -uroot -p school_2 student2 students3 -t>F:\Study\SQL\test10.sql
其中root 为对应用户名和密码,school_2为要操作数据库名称,student2、students3为对应表名,-t表示数据:
9.备份数据库中多个表的结构:
mysqldump -uroot -p school_2 student2 students3 -d>F:\Study\SQL\test11.sql
其中root 为对应用户名和密码,school_2为要操作数据库名称,student2、students3为对应表名,-d表示结构:
10.备份数据库包含建立数据库语句:
讯享网mysqldump -uroot -p school_2 -B >F:\Study\SQL\test12.sql
其中root 为对应用户名和密码,school_2为要操作数据库名称,-B表示所有数据库,会包含建立这个数据库的语句,备份后的sql语句会多一句:
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `school_2` /*!40100 DEFAULT CHARACTER SET utf8 */ /*!80016 DEFAULT ENCRYPTION='N' */; USE `school_2`;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/25342.html