+ -
当前位置:首页 → 问答吧 → 请问,如何使用mysql的正则来找出符合要求的数据

请问,如何使用mysql的正则来找出符合要求的数据

时间:2011-12-06

来源:互联网

例如,有一张表
| uid | uname | hobby |  
+-----+-------+---------------------------------+  
| 1 | AAAA | 音乐,电影,网络,篮球,阅读,乒乓球 |  
| 2 | BBBB | 音乐,阅读,乒乓球,发呆,围棋,参禅 |  
| 3 | CCCC | 交友,乒乓球 |  
+-----+-------+---------------------------------+  
有一个 string =‘音乐,发呆’;要在表中找出hobby字段中有音乐和发呆这两项的数据。请问应该怎么做啊,谢谢。

还有,请问,比如说我要存储2个爱好,建表时,是建一个hobbys字段,存储‘音乐,发呆’。还是建2个字段hobby1,hobby2.分别存储‘音乐,发呆’。哪一个有利于以后的查询以及写入。网站使用PHP编的。

作者: chinajob03   发布时间: 2011-12-06

假设满足1个条件(音乐 or 发呆)即可
select * from tt where repalce(hobby,'|') regexp '音乐|发呆'

还有,请问,比如说我要存储2个爱好,建表时,是建一个hobbys字段,存储‘音乐,发呆’。还是建2个字段hobby1,hobby2.分别存储‘音乐,发呆’

uid | uname | hobby |
1 a 音乐
1 a 发呆  
or
uid | uname | hobbyid |
1 a 1
1 a 2

hobby:
hobbyid hobbymame
1 音乐
2 发呆

作者: WWWWA   发布时间: 2011-12-06