mysql 关联备份数据
来源:互联网 发布:网络教学与传统教学 编辑:程序博客网 时间:2024/04/30 13:25
主题:mysqldump 备份多张相关联的表,并且执行有条件的筛选。
说明:
. mysqldump 备份多张表,可以使用如下语法:
mysqldump -uroot -proot mydatabase mytable_1 mytable_2 > /root/sql/2011_4_5_orders.sql
. mysqldump 备份表的部分内容(也就是筛选出符合条件的记录),可以用如下语法:
mysqldump -uroot -proot mydatabase mytable -w "order_id in ('1','2','3')" > /root/sql/2011_4_5_orders.sql
. mysqldump 备份多张表,并且含有筛选条件?如下?:
mysqldump -uroot -proot mydatabase mytable_1 mytable_2 -w "mytable_1.cust_id=mytable2.cust_id and mytable_1.cust_id in ('1','2','3')" > /root/sql/2011_4_5_orders.sql
很遗憾,上面的语法行不通,会报错:
mysqldump: mysqldump: Couldn't execute 'SELECT /*!40001 SQL_NO_CACHE */ * FROM `mytable_2` WHERE mytable_1.cust_id=mytable2.cust_id and mytable_1.cust_id in ('1','2','3')': Unknown column 'mytable_1.cust_id' in 'where clause' (1054)
分析:当有多张表,并且加上了 -w 选项之后,只会从指定的最后一张表中查询,并且 dump 其实是使用一条 SElECT 的 sql 语句,所以,我们不能同时从多表中同时筛选出几张表的内容,而是需要分别筛选!并且,关联的表用 in 的方式,例如:
mysqldump -uroot -proot mydatabase mytable_1 -w "cust_id in ('1','2','3')" > /root/sql/2011_4_5_cust.sql
mysqldump -uroot -proot mydatabase mytable_2 -w "mytable_2.cust_id in (select cust_id from mytable_1 where mytable_1.cust_id in ('1','2','3'))" > /root/sql/2011_4_5_cust.sql
但遗憾的是,上面同样会报错,因为 lock tables 的问题,于是重新添加一个参数即可:
mysqldump -uroot -proot --lock-all-tables mydatabase mytable_2 -w "mytable_2.cust_id in (select cust_id from mytable_1 where mytable_1.cust_id in ('1','2','3'))" > /root/sql/2011_4_5_cust.sql
总结:mysqldump 如果要同时筛选出多张表的内容,是无法达到的,只能一张表一张表的筛选出来,对于相关联的表的条件筛选,可以通过在 where 条件中添加“关联查询”的参数。
- mysql 关联备份数据
- mysql中备份数据
- mysql数据备份
- MySQL数据备份
- MySQL数据备份
- mysql 定时数据备份
- 备份 mysql数据
- mysql数据备份
- mysql 备份数据
- mysql数据备份
- Mysql 数据备份脚本
- mysql 数据备份、还原
- mysql备份导出数据
- mysql数据备份
- Mysql备份数据
- mysql数据备份参考
- mysql 定时备份数据
- mysql数据备份
- opengl 开发笔记-绘制纹理
- ${pageContext.request.contextPath} JSP取得绝对路径
- 自定义RadioButton样式2
- Android项目中使用mina处理TCP/IP 通信
- UFT-8,多字节和UNICODE之间的转换
- mysql 关联备份数据
- Android文件上传,PHP端接收
- OCP-1Z0-053-V12.02-634题
- ubuntu12.04 安装wireshark1.10.2稳定版本
- 用快捷键强制关闭Ubuntu无响应程序
- SwingUtilities.invokeLater
- EDM邮件营销中如何打造优秀标题
- servlet的生命周期与工作原理
- 【C++学习笔记】计算程序运行所用的时间