mysql mysqldump 命令导出指定表的数据和结构

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

1.备份该数据库数据和结构:

mysqldump -uroot -p123456 school_2>F:\Study\SQL\test1.sql

其中root 123456为对应用户名和密码,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 '123456' 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','123456','女',NULL,NULL,NULL,NULL,NULL),(2,'3','123456','女',NULL,NULL,NULL,NULL,NULL);
/*!40000 ALTER TABLE `students3` ENABLE KEYS */;
UNLOCK TABLES;

2.只备份数据库结构:

mysqldump -uroot -p123456 school_2 -d>F:\Study\SQL\test2.sql

其中root 123456为对应用户名和密码,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 '123456' 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 -p123456 school_2 -t>F:\Study\SQL\test3.sql

其中root 123456为对应用户名和密码,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','123456','女',NULL,NULL,NULL,NULL,NULL),(2,'3','123456','女',NULL,NULL,NULL,NULL,NULL);
/*!40000 ALTER TABLE `students3` ENABLE KEYS */;
UNLOCK TABLES;

4.备份数据库指定表的结构和数据:

mysqldump -uroot -p123456 school_2 student2 >F:\Study\SQL\test5.sql

其中root 123456为对应用户名和密码,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 -p123456 school_2 student2 -d>F:\Study\SQL\test6.sql

其中root 123456为对应用户名和密码,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 -p123456 school_2 student2 -t >F:\Study\SQL\test7.sql

其中root 123456为对应用户名和密码,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 -p123456 school_2 student2 students3 >F:\Study\SQL\test9.sql

其中root 123456为对应用户名和密码,school_2为要操作数据库名称,student2、students3为对应表名:

8.备份数据库中多个表的数据:

mysqldump -uroot -p123456 school_2 student2 students3 -t>F:\Study\SQL\test10.sql

其中root 123456为对应用户名和密码,school_2为要操作数据库名称,student2、students3为对应表名,-t表示数据:

9.备份数据库中多个表的结构:

mysqldump -uroot -p123456 school_2 student2 students3 -d>F:\Study\SQL\test11.sql

其中root 123456为对应用户名和密码,school_2为要操作数据库名称,student2、students3为对应表名,-d表示结构:

10.备份数据库包含建立数据库语句:

mysqldump -uroot -p123456 school_2 -B >F:\Study\SQL\test12.sql

其中root 123456为对应用户名和密码,school_2为要操作数据库名称,-B表示所有数据库,会包含建立这个数据库的语句,备份后的sql语句会多一句:

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `school_2` /*!40100 DEFAULT CHARACTER SET utf8 */ /*!80016 DEFAULT ENCRYPTION='N' */;

USE `school_2`;
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值