MySQL 08IN和LIKE的使用

2021-10-06 15:21:27 字數 3039 閱讀 8944

運算子 in 允許我們在 where 子句中過濾某個欄位的多個值。

#where子句使用in語法

select column_name from table_name where column_name in

(value1, value2,..

.)

在where子句中,有時候我們需要查詢包含*** 字串的所有記錄,這時就需要用到運算子like。

#where子句使用like語法

select column_name from table_name where column_name like 『%

value

%』

說明:

like子句中的%類似於正規表示式中的*,匹配任意0個或多個字元

like子句中的_匹配任意單個字元

like子句中如果沒有%和_,就相當於運算子=的效果

mysql>

select

*from employee where id=

1or id=

2or id=3;

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

| id | name | *** | salary |

+----+-------+------+--------+|1

| lily0 |1|

5500||

2| lily1 |0|

4500||

3| lily2 |0|

4200|+

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

3rows

inset

(0.00 sec)

mysql>

select

*from employee where id in(1

,2,3

);+----+-------+------+--------+

| id | name | *** | salary |

+----+-------+------+--------+|1

| lily0 |1|

5500||

2| lily1 |0|

4500||

3| lily2 |0|

4200|+

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

3rows

inset

(0.00 sec)

mysql>

select

*from employee where name like

'lily5';+

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

| id | name | *** | salary |

+----+-------+------+--------+|6

| lily5 |1|

6800|+

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

1row

inset

(0.00 sec)

mysql>

select

*from employee where name like

'lily1%';+

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

| id | name | *** | salary |

+----+--------+------+--------+|2

| lily1 |0|

4500||

11| lily10 |0|

10000||

12| lily11 |0|

4000|+

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

3rows

inset

(0.00 sec)

mysql>

select

*from employee where name like

'lily1_';+

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

| id | name | *** | salary |

+----+--------+------+--------+|11

| lily10 |0|

10000||

12| lily11 |0|

4000|+

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

2rows

inset

(0.00 sec)

mysql>

select

*from employee where name like

'%9';+

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

| id | name | *** | salary |

+----+-------+------+--------+|10

| lily9 |1|

8000|+

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

1row

inset

(0.00 sec)

mysql>

select

*from employee where name like

'%ly1%';+

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

| id | name | *** | salary |

+----+--------+------+--------+|2

| lily1 |0|

4500||

11| lily10 |0|

10000||

12| lily11 |0|

4000|+

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

3rows

inset

(0.00 sec)

mysql中like的用法

在sql結構化查詢語言中,like語句有著至關重要的作用。like語句的語法格式是 select from 表名 where 欄位名 like 對應值 子串 它主要是針對字元型字段的,它的作用是在乙個字元型字段列中檢索包含對應子串的。a 包含零個或多個字元的任意字串 1 like mc 將搜尋以字母...

MySQL模糊查詢 LIKE模式和REGEXP模式

mysql模糊查詢提供了兩種模式 like模式和regexp模式。like模式是使用的like 或 not like 比較運算子進行模糊查詢。select 字段 from 表 where 字段 like not like 條件 針對條件,有以下幾種萬用字元 萬用字元含義 表示任意乙個或多個字元,可匹...

mysql的like是否使用索引

mysql在使用like查詢中,能不能用到索引?在什麼地方使用索引呢?在使用like的時候,如果使用 會不會用到索引呢?explain select from user where username like ptd 上面的結果是全表掃瞄,並沒有使用到索引。只是使用乙個 的查詢結果 explain ...