一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫(kù)技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫(kù) - Mysql - 關(guān)于MySQL中的 like操作符詳情

關(guān)于MySQL中的 like操作符詳情

2021-12-06 19:19李子捌 Mysql

這篇文章主要介紹了MySQL之like操作符,當(dāng)對(duì)未知或者說(shuō)知道某一部分的值進(jìn)行過濾時(shí),可以使用like操作符;like操作符用于模糊匹配。下面我們一起進(jìn)入文章看看文章是我詳細(xì)內(nèi)容

關(guān)于MySQL中的 like操作符詳情

1、簡(jiǎn)介

當(dāng)對(duì)未知或者說(shuō)知道某一部分的值進(jìn)行過濾時(shí),可以使用like操作符;like操作符用于模糊匹配。

like支持兩個(gè)通配符,它們分別是:

  • %通配符,用于匹配多個(gè)字符
  • _通配符,用于匹配單個(gè)字符

通配符根據(jù)其所處未知又分為六種匹配方式:

匹配方式 作用
%xx 表示右匹配,右邊的xx字符需要完全相等,左邊可以是任意字符,也可以沒有字符
_xx 表示右匹配,右邊的xx字符需要完全相等,左邊可以是任意一個(gè)字符,必須是一個(gè)不能沒有字符
xx% 表示左匹配,右邊的xx字符需要完全相等,右邊可以是任意字符,也可以沒有字符
xx_ 表示左匹配,左邊的xx字符需要完全相等,右邊可以是任意一個(gè)字符,必須是一個(gè)不能沒有字符
%xx% 表示中間匹配,中間必須完全相等,左右兩邊可以是任意字符,左右兩邊可以沒有其他字符
xx 表示中間匹配,中間必須完全相等,左右兩邊可以是任意一個(gè)字符,左右兩邊必須是一個(gè)不能沒有字符

2、正文

首先準(zhǔn)備一張user表,ddl和表數(shù)據(jù)如下所示,可以直接復(fù)制使用。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
set names utf8mb4;
set foreign_key_checks = 0;
 
-- ----------------------------
-- table structure for user
-- ----------------------------
drop table if exists `user`;
create table `user`  (
  `id` bigint(20) not null auto_increment comment '主鍵',
  `name` varchar(255) character set utf8 collate utf8_general_ci not null comment '用戶名',
  `age` int(11) not null comment '年齡',
  `sex` smallint(6) not null comment '性別',
  primary key (`id`) using btree
) engine = innodb auto_increment = 8 character set = utf8 collate = utf8_general_ci row_format = dynamic;
 
-- ----------------------------
-- records of user
-- ----------------------------
insert into `user` values (1, '李子捌', 18, 1);
insert into `user` values (2, '張三', 22, 1);
insert into `user` values (3, '李四', 38, 1);
insert into `user` values (4, '王五', 25, 1);
insert into `user` values (5, '六麻子', 13, 0);
insert into `user` values (6, '田七', 37, 1);
insert into `user` values (7, '謝禮', 18, 1);
 
set foreign_key_checks = 1;
復(fù)制代碼
數(shù)據(jù)的初始順序如下所示:
 
mysql> select * from user;
+----+--------+-----+-----+
| id | name   | age | sex |
+----+--------+-----+-----+
|  1 | 李子捌 |  18 |   1 |
|  2 | 張三   |  22 |   1 |
|  3 | 李四   |  38 |   1 |
|  4 | 王五   |  25 |   1 |
|  5 | 六麻子 |  13 |   0 |
|  6 | 田七   |  37 |   1 |
|  7 | 謝禮   |  18 |   1 |
+----+--------+-----+-----+
7 rows in set (0.00 sec)

2.1 %通配符

%通配符有三種匹配方式,分別是%xxxx% %xx% ,接下來(lái)演示三者的簡(jiǎn)單用法。

需求:

查詢user表中姓氏為張的用戶

語(yǔ)句:

?
1
2
3
4
5
6
7
mysql> select * from user where name like '張%';
+----+------+-----+-----+
| id | name | age | sex |
+----+------+-----+-----+
|  2 | 張三 |  22 |   1 |
+----+------+-----+-----+
1 row in set (0.00 sec)

需求:

查詢user表中姓名以七結(jié)尾的用戶

語(yǔ)句:

?
1
2
3
4
5
6
7
mysql> select * from user where name like '%七';
+----+------+-----+-----+
| id | name | age | sex |
+----+------+-----+-----+
|  6 | 田七 |  37 |   1 |
+----+------+-----+-----+
1 row in set (0.00 sec)

需求:

查詢user表中姓名中包含李字符的用戶

語(yǔ)句:

?
1
2
3
4
5
6
7
8
mysql> select * from user where name like '%李%';
+----+--------+-----+-----+
| id | name   | age | sex |
+----+--------+-----+-----+
|  1 | 李子捌 |  18 |   1 |
|  3 | 李四   |  38 |   1 |
+----+--------+-----+-----+
2 rows in set (0.00 sec)

2.2 _通配符

_通配符和%通配符的區(qū)別在于 _只匹配一個(gè)字符,并且必須匹配一個(gè)字符;而%可以匹配多個(gè)字符,甚至0個(gè)字符。

需求:

查詢user表中姓氏為李,并且名字只有兩個(gè)中文的用戶

語(yǔ)句:

?
1
2
3
4
5
6
7
mysql> select * from user where name like '李_';
+----+------+-----+-----+
| id | name | age | sex |
+----+------+-----+-----+
|  3 | 李四 |  38 |   1 |
+----+------+-----+-----+
1 row in set (0.00 sec)

需求:

查詢user表中名為三的用戶

語(yǔ)句:

?
1
2
3
4
5
6
7
mysql> select * from user where name like '_三';
+----+------+-----+-----+
| id | name | age | sex |
+----+------+-----+-----+
|  2 | 張三 |  22 |   1 |
+----+------+-----+-----+
1 row in set (0.00 sec)

需求:

查詢user表中姓名為三個(gè)子,并且第二個(gè)子為麻的用戶

語(yǔ)句:

?
1
2
3
4
5
6
7
mysql> select * from user where name like '_麻_';
+----+--------+-----+-----+
| id | name   | age | sex |
+----+--------+-----+-----+
|  5 | 六麻子 |  13 |   0 |
+----+--------+-----+-----+
1 row in set (0.00 sec)

2.3 通配符使用注意事項(xiàng)

通配符非常強(qiáng)大,我相信很多人都經(jīng)常使用通配符,但是字符串匹配往往并不是一件性能特別快的事情。因此我們?cè)谑褂猛ㄅ浞臅r(shí)候有一些注意事項(xiàng)需要時(shí)刻記住。

  • 能不用則不用的原則,不用能避免通配符帶來(lái)的全部問題,所以如果其他操作符能查詢出來(lái),就不要使用like
  • 在使用通配符的地方,盡量縮小查詢范圍,如果有多個(gè)查詢條件,應(yīng)該考慮能否將通配符放置到其他過濾條件的后面
  • 特別注意通配符的選擇,以及通配符的位置,可以參考六種匹配方式選擇自己合適的

到此這篇關(guān)于mysqllike操作符詳情的文章就介紹到這了,更多相關(guān)mysql之like操作符內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://juejin.cn/post/7030568784448454663

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本不卡在线一区二区三区视频 | 国产精品自产拍在线观看2019 | 水多多www视频在线观看高清 | 午夜免费无码福利视频麻豆 | 国产第一福利视频导航在线 | 久热这里在线精品 | 爱豆传媒最新视频国产 | 91精品国产91热久久p | 国产精品1 | 国产射频放大器 | 免费 视频 | 无套插入| 欧美日韩不卡视频 | 亚洲可乐操 | 91国内精品 | 国产主播99 | 好大好硬好紧太深了受不了 | h黑寡妇一级毛片 | 天天碰夜夜操 | www.亚洲5555.com| 欧美日韩综合网在线观看 | 国内精品久久久久影院网站 | 性欧美xxxxx老太婆 | 精品一区二区三区免费毛片 | 婚前试爱全集免费观看 | 性bbbb妇女激情 | 国产大胆歌舞团网站 | 欧美久草在线 | gogo人体模特啪啪季玥图片 | 国产免费小视频 | 奇米激情 | 含羞草传媒一天免费看下 | 91大神精品 | 99资源在线观看 | www在线免费观看 | 99热在线观看免费 | 亚洲成人伦理 | 调教处男 | 成年人免费观看的视频 | 变态 另类 人妖小说 | 国产精品久久久久久福利 |