全文索引
# mysql-front dump 2.5
# host: localhost database: test
# server version 4.0.12-nt-log
# table structure for table 't3'
create table `t3` (
`name` char(12) not null default '',
`name2` char(12) not null default '',
fulltext key `name` (`name`,`name2`)
) type=myisam;
# dumping data for table 't3'
insert into `t3` (`name`, `name2`) values("1", "安換嵐繕");
insert into `t3` (`name`, `name2`) values("2", "不會吧");
insert into `t3` (`name`, `name2`) values("3", "不會吧1");
insert into `t3` (`name`, `name2`) values("4", "不會吧 1");
insert into `t3` (`name`, `name2`) values("5", "真的不會吧");
insert into `t3` (`name`, `name2`) values("6", "真的 不會吧");
mysql> select * from t3;
¦ name ¦ name2 ¦
¦ 1 ¦ 安換嵐繕 ¦
¦ 2 ¦ 不會吧 ¦
¦ 3 ¦ 不會吧1 ¦
¦ 4 ¦ 不會吧 1 ¦
¦ 5 ¦ 真的不會吧 ¦
¦ 6 ¦ 真的 不會吧 ¦
6 rows in set (0.01 sec)
# 查詢詞 "不會吧"
mysql> select * from t3 where match (name,name2)
-> against ('不會吧'in boolean mode);
¦ name ¦ name2 ¦
¦ 2 ¦ 不會吧 ¦
¦ 4 ¦ 不會吧 1 ¦
¦ 6 ¦ 真的 不會吧 ¦
3 rows in set (0.00 sec)
# 查詢以詞 "不會吧" 開頭的任意詞句
mysql> select * from t3 where match (name,name2)
-> against ('不會吧*' in boolean mode);
¦ name ¦ name2 ¦
¦ 2 ¦ 不會吧 ¦
¦ 4 ¦ 不會吧 1 ¦
¦ 6 ¦ 真的 不會吧 ¦
¦ 3 ¦ 不會吧1 ¦
4 rows in set (0.01 sec)
# 查詢以詞 "不會吧" 開頭的任意詞句 並 去除詞 "真的"
mysql> select * from t3 where match (name,name2)
-> against ('+不會吧* -真的' in boolean mode);
¦ name ¦ name2 ¦
¦ 2 ¦ 不會吧 ¦
¦ 4 ¦ 不會吧 1 ¦
¦ 3 ¦ 不會吧1 ¦
3 rows in set (0.00 sec)
在上例中,
我們可以看出 mysql 的全文索引對雙位元組處理的支援還不太好,
¦ 5 ¦ 真的不會吧 ¦
這一行記錄始終未能查詢出來,
這是因為在西文中詞是以乙個空格為分隔的,
希望在將來的版本中
mysql 對此能有所改進
而用正規表示式也是會有問題的,
# 查詢詞 "不會吧"
mysql> select * from t3 where name2 regexp "不會吧";
¦ name ¦ name2 ¦
¦ 1 ¦ 安換嵐繕 ¦
¦ 2 ¦ 不會吧 ¦
¦ 3 ¦ 不會吧1 ¦
¦ 4 ¦ 不會吧 1 ¦
¦ 5 ¦ 真的不會吧 ¦
¦ 6 ¦ 真的 不會吧 ¦
6 rows in set (0.00 sec)
# 查詢以詞 "不會吧" 開頭的
mysql> select * from t3 where name2 regexp "^不會吧";
¦ name ¦ name2 ¦
¦ 2 ¦ 不會吧 ¦
¦ 3 ¦ 不會吧1 ¦
¦ 4 ¦ 不會吧 1 ¦
3 rows in set (0.00 sec)
# 查詢以詞 "不會吧" 結束的
mysql> select * from t3 where name2 regexp "不會吧$";
¦ name ¦ name2 ¦
¦ 2 ¦ 不會吧 ¦
¦ 5 ¦ 真的不會吧 ¦
¦ 6 ¦ 真的 不會吧 ¦
3 rows in set (0.00 sec)
mysql模糊查詢 MYSQL模糊查詢
mysql提供標準的sql模式匹配,以及一種基於象unix實用程式如vi grep和sed的擴充套件正規表示式模式匹配的格式。一 sql模式 sql的模式匹配允許你使用 匹配任何單個字元,而 匹配任意數目字元 包括零個字元 在 mysql中,sql的模式預設是忽略大小寫的。下面顯示一些例子。注意在你...
mysql 正反模糊查詢 mysql模糊查詢
mysql 使用內建函式進行模糊查詢 locate,position,instr,find in set 1 locate substr str,pos 方法 2 position substr in field 方法 3 instr str substr 方法 4 find in set str1...
mysql 模糊查詢
模糊查詢 返回的結果不確定 1 mysql sql 匹配模式 a,使用操作符 like 或者 not like b,表示任意數量的任意字元 標識任意單個字元 查詢使用者名稱以某個字元開頭的使用者 查詢使用者名稱以字元 l 開頭的使用者 l select from user where usernam...