MySQL 通过命令导出查询结果

近期由于工作原因,接触到了 Linux 的一些操作,也接触到数据库中有很多结果集时的一些处理。

经常会做的就是将数据库中上亿的数据通过 MySQL 的查询导出,通过 phpMyAdmin 和 SQLyog 等一些数据库管理工具处理起来就不方便了,会经常因为查询太大而丢失数据库链接,所以就只能通过服务器端执行 MySQL 命令的方式来导出了。由于是本地命令行操作,所以数据量再大也不会丢失链接。

在 MySQL 的官方有关于此命令的详细说明,我这里主要记录了我常用到的“SELECT … OUTFILE …”的示例。

关于此命令的说明:

后面的设置项是可以省略的,默认情况:
字段之间用“制表符(\t)”,无字段包括符,每行之间用“换行符(\n)”。

执行成功后,便会在 OUTFILE 后面设置的文件路径中找到导出的文件。

再见Windows

这里的 Windows 是指 Microsoft 的那个 Windows。在领略了 Ubuntu 的桌面效果后,早就想把 Windows 弃用了,但考虑到有很多的资料不便移植,所以一直用盗版的 Windows 7。

前几由于安装了最新的 Mysql(5.5.5)和PHP(5.3.3),导致我电脑上的 Apache 出了问题:PHP一旦操作 Mysql 就会出现“无法显示该网页“,什么错误代码都没有。正是这个问题,让我下载了N个版本的 Mysql,但都没能解决。终于,在我一遍又一遍的配置 Mysql 服务时,一不小心,之前的所有数据都被我彻底删除了。虽然用数据恢复工具把数据都恢复了,但是数据库的目录结构没有保存下来,真后悔自己习惯按“Shift+Delete“……

我把所有问题都归就于无辜的 Windows 上。这下没什么可顾虑的了,对于我这样不喜欢玩游戏的电脑用户,真不知道 Ubuntu 不能满足我的什么需求?于是带着懊恼,彻底删除了 Windows 7,安装了“向往已久”的 Ubuntu 桌面版。我并不熟悉 Ubuntu 的操作,一些配置,一边上网查找资料,就这样开始了我的 Ubuntu 之旅。

附:PHP操作Mysql时提示“无法显示该网页”的解决方法

最后证实,并非 Windows 的问题,而是 Mysql 5.0 以上的 lib(libmysql.dll) 文件导致的。重新下载了 Mysql 5.0.* 的 lib 文件,重启 Apache 后恢复正常。