MySQL分卷备份/导入工具

RayChou at 2008-11-22 22:27 posted  Filed under 程序开发

相信很多使用虚拟主机,没有SSH权限的站长们,最郁闷的一件事就是MySQL数据的备份和导入,几兆大小的数据文件还好说,但经常有动辄几十上百兆的数据需要导入导出,phpmyadmin可以方便的导出大量数据,但对于大文件的导入却无能为力。

下面推荐的一款”PHP版MySQL数据库分卷备份工具”,可以轻松胜任超大数据库的备份/导入工具,最重要的是,他可以分卷操作,并可以指定每个文件的大小。

需要输入密码验证才能进行操作

分卷备份

分卷导入,只要导入一个文件,会自动导入其余分卷

官方下载

MySQL单表多字段模糊查询解决方法

RayChou at 2006-10-24 14:36 posted  Filed under 程序开发

在最近的一个项目需要实现在单表中对多字段进行多个关键字的模糊查询,但这数个关键字并不一定都存在于某个字段

例如现有table表,其中有title,tag,description三个字段,分别记录一条资料的标题,标签和介绍。然后根据用户输入的查询请求,将输入的字串通过空格分割为多个关键字,再在这三个字段中查询包含这些关键字的记录。

可目前遇到的问题是,这些关键字是可能存在于三个字段中的任意一个或者多个,但又要求三个字段必须包含所有的关键词。如果分别对每个字段进行模糊匹配,是没法实现所需的要求,由此想到两种方法:

  1. 在插入记录的同时,将需要进行多字段模糊查询的字段合并成一个字串并加入到一个新的字段中,然后对这个新字段进行模糊查询。
  2. 使用全文检索,但是这需要用到中文分词或者将汉字转化为拼音(拆分汉字是不可行的,MySQL默认FT最小字节为4),而且并不利于今后的维护。

在网上爬了两天,对此问题的处理都没有找到满意的解决方法,最后在《MySQL权威指南》中翻到了CONCAT的使用方法,在书中的对CONCAT的描述是:

CONCAT(str1,str2,…)
返回值:由全体出入参数合并在一起而得到的字符串。只要输入的参数中有NULL值,就返回NULL。CONCAT允许只有一个输入参数的情况。

因此,前文的查询可以通过下面这个SQL查询实现
SELECT * FROM `magazine` WHERE CONCAT(`title`,`tag`,`description`) LIKE ‘%关键字%’

新购书《PHP和MySQL Web开发》

RayChou at 2006-08-18 20:49 posted  Filed under 其他

一本被誉为 PHP和MySQL Web开发的”圣经”的书,网上对其也是好评如潮,一直就有将其购入藏书的想法,无奈于一直没有时间去逛书市,而且自己也向来没有读书的习惯,因此一直与其无缘。

今天正好顺道经过书市,也顺便问了一下,还就剩下这最后一本了,拿手上看了看,和之前买的另一本书《MySQL权威指南》很像,都是通一个出版社,通类型书风格一样也很正常。

php_book.jpg

说实话,买这本书完全是因为看了网上的评价,也知道买回来基本不会看,但就是想收藏几本相关的书,或许在可能的时候会派上用场

书名:PHP和MySQL Web开发
出版商:机械工业出版社
作者:Luke Welling Laure Thomson
译者:武欣 邵煜
价格:¥78

标签: