1.使用情況
1.單個表中的多條查詢
2.單個查詢從不同的表返回類似的結構資料
2.語法
select id,price form products where price <= '5'
union
select id,price form products where id in (1,2);
3.union的使用可以和where語句進行轉換,如果每個匹配行必須都列出來的話就不用
where語句 用union all
select id,price form products where price <= '5' or id in(1,2);
4.使用規則
1.組合至少兩個select語句
2.select語句中的列、表示式、聚集函式必須相同
3.資料型別必須相容
5.預設union會消除重複的行,使用union all 不會消除重複行
6.order by 只能出現的在最後
innodb引擎不支援全文本搜尋,myisam支援
全文本搜尋類似於萬用字元操作和正規表示式匹配,但是全文本搜尋的效能要高於前兩者
1.使用全文本搜尋
表的建立
create table books
( id int
notes test
fulltext(notes)
)engine = myisam;使用fulltext指明對哪一列進行全文本搜尋
注意:不要在資料匯入的時候使用fulltext 而是匯入完成後進行表的修改
2.語句查詢
select text from books where match(notes) againsr('aaaa');
返回的結果是含有aaaa這個文字的的所有行
match()中的引數必須是在fulltest()中定義過的,且次序必須正確
against()不區分大寫 除非使用binary方式
返回結果是按照特定計算的等級值降序輸出
3.使用查詢擴充套件
sellect notes from books where match(notes) againsr('aaaa' with query expansion);
返回的則是包含詞aaaa和與其相關的語句
4.布林文字搜尋
1.匹配內容:要匹配的 要排斥的 排列提示 表示式分組等等
sellect notes from books where match(notes) againsr('aaaa -b*' in boolean mode );
返回含有aaaa 不包含b開始的詞
mysql在全文本 MYSQL全文本搜尋
全文本搜尋 使用全文本搜尋 啟用全文本搜尋 進行全文本搜尋 使用拓展查詢 布林文字搜尋 使用全文本搜尋 為了進行全文本搜尋,必須索引被搜尋的列,而且要隨著資料的改變不斷的重新索引。對表列進行適當的改進後,mysql會自動進行所有的索引和重新索引。優點 效能快 明確控制 智慧型化的結果 啟用全文本搜尋...
MYSQL全文本搜尋
為了進行全文本搜尋,必須索引被搜尋的列,而且要隨著資料的改變不斷的重新索引。對表列進行適當的改進後,mysql會自動進行所有的索引和重新索引。優點 效能快明確控制 智慧型化的結果 fulltext 列名 mysql對該列索引自動更新 使用match 被搜尋的列 against 指定要使用的搜尋表示式...
MySQL的全文本搜尋
我們在使用mysql時,一般會用到兩種引擎 myisam和innodb,myisam支援全文本搜尋,但不支援事務處理 而innodb支援事務處理,但不支援全文本搜尋。一 有時,我們需要使用全文本搜尋,例如 要搜尋文字中存在指定的某個詞,且以這個詞出現的順序排序。先建立支援全文本搜尋的表 create...