Mysql之模糊查詢

2022-09-15 17:15:09 字數 2521 閱讀 2998

目錄mysql中的模糊檢索方法,總結了有以下幾種,下面我們來簡單介紹一下

-- 建立表

mysql> create table if not exists wuxia(

-> id int unsigned auto_increment,

-> name varchar(10) not null,

-> primary key (id)

-> );

query ok, 0 rows affected, 1 warning (0.00 sec)

mysql> show tables;

+----------------+

| tables_in_test |

+----------------+

| wuxia |

+----------------+

1 row in set (0.00 sec)

-- 插入資料

mysql> insert into wuxia (name) values ('小龍女'),('小高'),('卓東來'),('陸小鳳');

query ok, 4 rows affected (0.00 sec)

records: 4 duplicates: 0 warnings: 0

-- 查詢表

mysql> select * from wuxia;

+----+-----------+

| id | name |

+----+-----------+

| 13 | 小龍女 |

| 14 | 小高 |

| 15 | 卓東來 |

| 16 | 陸小鳳 |

+----+-----------+

4 rows in set (0.00 sec)

substr 檢索條件;str column(字段);

mysql> select * from wuxia where locate('龍', name);

+----+-----------+

| id | name |

+----+-----------+

| 4 | 小龍女 |

+----+-----------+

str column(字段);substr 檢索條件;

mysql> select * from wuxia where instr(name, '龍');

+----+-----------+

| id | name |

+----+-----------+

| 4 | 小龍女 |

+----+-----------+

1 row in set (0.00 sec)

substr 檢索條件;str column(字段);

mysql> select * from wuxia where position('龍' in name);

+----+-----------+

| id | name |

+----+-----------+

| 4 | 小龍女 |

+----+-----------+

1 row in set (0.00 sec)

使用格式為「str regexp str_part」,當str字串中含有str_pat相匹配的字串時,則返回值1,否則返回0; column regexp '條件'

詳細檢視:

mysql> select * from wuxia where name regexp '小';

+----+-----------+

| id | name |

+----+-----------+

| 4 | 小龍女 |

| 5 | 小高 |

| 7 | 陸小鳳 |

+----+-----------+

3 rows in set (0.01 sec)

column like '%條件%',這種類似方式是我們最常見常用的

mysql> select * from wuxia where name like concat('陸', '%');

+----+-----------+

| id | name |

+----+-----------+

| 7 | 陸小鳳 |

+----+-----------+

1 row in set (0.00 sec)

MySQL之模糊查詢

一般而言,在 mysql 中使用 sql select 命令來讀取資料,同時可以在 select 語句中使用 where 子句來獲取指定的記錄。where 子句中可以使用等號 來設定獲取資料的條件,但是有時候我們需要獲取字段含有某些字元的所有記錄,這時就需要在 where 子句中使用 sql lik...

mysql模糊查詢 MYSQL模糊查詢

mysql提供標準的sql模式匹配,以及一種基於象unix實用程式如vi grep和sed的擴充套件正規表示式模式匹配的格式。一 sql模式 sql的模式匹配允許你使用 匹配任何單個字元,而 匹配任意數目字元 包括零個字元 在 mysql中,sql的模式預設是忽略大小寫的。下面顯示一些例子。注意在你...

mysql系列之 模糊查詢

1,表示任意0個或多個字元。可匹配任意型別和長度的字元,有些情況下若是中文,請使用兩個百分號 表示。比如 select from user where u name like 三 將會把u name為 張三 張貓三 三腳貓 唐三藏 等等有 三 的記錄全找出來。另外,如果需要找出u name中既有 三...