mysqldump工具,通过--where选项,导出指定表中指定数据?

时间:2022-01-31 10:42:15

需求描述:

  今天在使用mysqldump工具导出表的时候,考虑能不能导出满足条件的数据行,不要

  将表都导出来,查找资料,通过--where选项,就可以实现目的,做个实验,在此记录下.

操作过程:

1.通过--where选项导出满足条件的数据

[mysql@redhat6 mysql_backup]$ mysqldump -uroot -p --single-transaction --master-data --where='id < 10' test02 goods_code_info > TableConditon.sql
Enter password:
[mysql@redhat6 mysql_backup]$

备注:--where等号的后面的条件,必须要用括号扩起来.上面的语句的作用,导出test02库下goods_code_info表中满足id<10这个条件的记录.

2.查看生成的数据sql文件

--
-- Dumping data for table `goods_code_info`
--
-- WHERE: id < LOCK TABLES `goods_code_info` WRITE;
/*!40000 ALTER TABLE `goods_code_info` DISABLE KEYS */;
INSERT INTO `goods_code_info` VALUES (,',3,4','',',abc,64G','ddd','',NULL,NULL,NULL,'',''),(,',5,4','',G','N5S','',NULL,NULL,NULL,'',''),(,',6,4','',',蓝,6G','NS','',NULL,NULL,NULL,'',''),(,NULL,'',NULL,'A制','',NULL,NULL,NULL,NULL,NULL),(,NULL,'',NULL,'','',NULL,NULL,NULL,NULL,NULL),(,NULL,'',NULL,'3器P1','',NULL,NULL,NULL,NULL,NULL),(,NULL,'',NULL,'3P1','',NULL,NULL,NULL,NULL,NULL),(,NULL,'',NULL,'由器P1','',NULL,NULL,NULL,NULL,NULL),(,NULL,'',NULL,'0 中车','',NULL,NULL,NULL,NULL,NULL);
/*!40000 ALTER TABLE `goods_code_info` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

备注:导出ID最大是9.在sql文件中,有where条件.

3.查看原表中的最大id值

[mysql@redhat6 mysql_backup]$ mysql -uroot -p -D test02 -e "select max(id) from goods_code_info"
Enter password:
+---------+
| max(id) |
+---------+
| |
+---------+
[mysql@redhat6 mysql_backup]$

备注:原来的表中的id值,最大是5139.我们只是导出id小于9的.导出成功.

文档创建时间:2018年4月17日14:56:00