MySQL select查詢之LIKE與通配符用法
select查詢之LIKE與通配符用法
在搜索數(shù)據(jù)庫中的數(shù)據(jù)時,SQL 通配符可以替代一個或多個字符。
SQL 通配符必須與 LIKE 運算符一起使用??墒褂靡韵峦ㄅ浞?/p>
| 通配符 | 描述 |
|---|---|
| 百分號( % ) | 替代一個或多個字符 |
| 下劃線( _ ) | 僅替代一個字符 |
一、百分號( % )
查詢時表示在該位置可以是任意個(0 - n 個)任意字符,必須和 LIKE 運算符一起使用。
例如:
1、查詢【姓王】的學(xué)生信息
mysql> SELECT
-> *
-> FROM
-> stu
-> WHERE
-> stu_name LIKE '王%';
+-----------+-----------+--------+---------------------+--------+-------------+---------+
| stu_id | stu_name | gender | birth | height | phone | dept_id |
+-----------+-----------+--------+---------------------+--------+-------------+---------+
| 201801101 | 王占峰 | 男 | 1999-12-30 00:00:00 | 177.0 | 15937320987 | D02 |
| 201801201 | 王艷艷 | 女 | 1999-09-30 00:00:00 | 162.0 | NULL | D03 |
| 201801203 | 王大強 | 男 | 2000-10-19 00:00:00 | 174.0 | 15937320555 | D03 |
| 201901002 | 王宏偉 | 男 | 2001-02-15 00:00:00 | 180.0 | 15937320255 | D01 |
+-----------+-----------+--------+---------------------+--------+-------------+---------+
4 rows in set (0.01 sec)
2、查詢名字的最后一個字是【強】的學(xué)生信息
mysql> SELECT
-> *
-> FROM
-> stu
-> WHERE
-> stu_name LIKE '%強';
+-----------+-----------+--------+---------------------+--------+-------------+---------+
| stu_id | stu_name | gender | birth | height | phone | dept_id |
+-----------+-----------+--------+---------------------+--------+-------------+---------+
| 201801102 | 劉國強 | 男 | 2000-08-14 00:00:00 | 174.0 | 15937320789 | D02 |
| 201801203 | 王大強 | 男 | 2000-10-19 00:00:00 | 174.0 | 15937320555 | D03 |
+-----------+-----------+--------+---------------------+--------+-------------+---------+
2 rows in set (0.00 sec)
3、查詢手機號最后一個數(shù)字是【5】的學(xué)生信息
mysql> SELECT
-> *
-> FROM
-> stu
-> WHERE
-> phone LIKE '%5';
+-----------+-----------+--------+---------------------+--------+-------------+---------+
| stu_id | stu_name | gender | birth | height | phone | dept_id |
+-----------+-----------+--------+---------------------+--------+-------------+---------+
| 201801203 | 王大強 | 男 | 2000-10-19 00:00:00 | 174.0 | 15937320555 | D03 |
| 201901002 | 王宏偉 | 男 | 2001-02-15 00:00:00 | 180.0 | 15937320255 | D01 |
+-----------+-----------+--------+---------------------+--------+-------------+---------+
2 rows in set (0.00 sec)
4、查詢名字中包含【鵬】字的學(xué)生信息
mysql> SELECT
-> *
-> FROM
-> stu
-> WHERE
-> stu_name LIKE '%鵬%';
+-----------+-----------+--------+---------------------+--------+-------------+---------+
| stu_id | stu_name | gender | birth | height | phone | dept_id |
+-----------+-----------+--------+---------------------+--------+-------------+---------+
| 201801203 | 王鵬飛 | 男 | 2000-10-19 00:00:00 | 174.0 | 15937320555 | D03 |
| 201901005 | 劉鵬 | 男 | 2001-12-18 00:00:00 | 176.0 | NULL | D01 |
+-----------+-----------+--------+---------------------+--------+-------------+---------+
2 rows in set (0.00 sec)
二、下劃線( _ )
查詢時表示在該位置有且只有一個字符,字符的內(nèi)容不限。
必須和 LIKE 運算符一起使用。
例如:
1、查詢名字中第二個字是【鵬】的學(xué)生信息
mysql> SELECT
-> *
-> FROM
-> stu
-> WHERE
-> stu_name LIKE '_鵬%';
+-----------+-----------+--------+---------------------+--------+-------------+---------+
| stu_id | stu_name | gender | birth | height | phone | dept_id |
+-----------+-----------+--------+---------------------+--------+-------------+---------+
| 201801203 | 王鵬飛 | 男 | 2000-10-19 00:00:00 | 174.0 | 15937320555 | D03 |
| 201901005 | 劉鵬 | 男 | 2001-12-18 00:00:00 | 176.0 | NULL | D01 |
+-----------+-----------+--------+---------------------+--------+-------------+---------+
2 rows in set (0.00 sec)
2、查詢名字中第二個字是【鵬】并且名字一共是兩個字的學(xué)生信息
mysql> SELECT
-> *
-> FROM
-> stu
-> WHERE
-> stu_name LIKE '_鵬';
+-----------+----------+--------+---------------------+--------+-------+---------+
| stu_id | stu_name | gender | birth | height | phone | dept_id |
+-----------+----------+--------+---------------------+--------+-------+---------+
| 201901005 | 劉鵬 | 男 | 2001-12-18 00:00:00 | 176.0 | NULL | D01 |
+-----------+----------+--------+---------------------+--------+-------+---------+
1 row in set (0.00 sec)
3、查詢 phone 中倒數(shù)第二個數(shù)字是【5】的學(xué)生信息
mysql> SELECT
-> *
-> FROM
-> stu
-> WHERE
-> phone LIKE '%5_';
+-----------+-----------+--------+---------------------+--------+-------------+---------+
| stu_id | stu_name | gender | birth | height | phone | dept_id |
+-----------+-----------+--------+---------------------+--------+-------------+---------+
| 201801103 | 鞏莉 | 女 | 2000-06-18 00:00:00 | 170.0 | 15937320456 | D02 |
| 201801203 | 王鵬飛 | 男 | 2000-10-19 00:00:00 | 174.0 | 15937320555 | D03 |
| 201901002 | 王宏偉 | 男 | 2001-02-15 00:00:00 | 180.0 | 15937320255 | D01 |
+-----------+-----------+--------+---------------------+--------+-------------+---------+
3 rows in set (0.00 sec)
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
mysql一鍵安裝教程 mysql5.1.45全自動安裝(編譯安裝)
這篇文章主要介紹了mysql一鍵安裝教程,一鍵安裝MySQL5.1.45,全自動安裝MySQL SHELL程序,實現(xiàn)編譯安裝,感興趣的2016-06-06
Mysql恢復(fù)誤刪庫表數(shù)據(jù)完整場景演示
在開發(fā)和在生產(chǎn)中總會出現(xiàn)各種各樣的失誤和意味,當MySQL的數(shù)據(jù)或表被刪除后不要慌,下面這篇文章主要給大家介紹了關(guān)于Mysql恢復(fù)誤刪庫表數(shù)據(jù)的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-07-07
為什么MySQL選擇Repeatable Read作為默認隔離級別
關(guān)于MySQL的事務(wù)隔離級別,相信很多讀者都不陌生,那么,你知道為什么Oracle選擇RC作為默認級別,而MySQL要選擇RR作為默認的隔離級別嗎2021-07-07
win2008 R2 WEB環(huán)境配置之MYSQL 5.6.22安裝版安裝配置方法
這篇文章主要介紹了win2008 R2 WEB環(huán)境配置之MYSQL 5.6.22安裝版安裝配置方法,需要的朋友可以參考下2016-06-06
檢查并修復(fù)mysql數(shù)據(jù)庫表的具體方法
這篇文章介紹了檢查并修復(fù)mysql數(shù)據(jù)庫表的具體方法,有需要的朋友可以參考一下2013-09-09

