MySQL模糊查詢

2021-10-07 21:47:07 字數 2166 閱讀 4033

首先建表

create

table student(

id char(36

)primary

key,

name varchar(8

)not

null

, age int(3

)default0,

mobile char(11

),address varchar

(150))

insert

into student

values

('9b4435ec-372c-456a-b287-e3c5aa23dff4'

,'張三',24

,'12345678901'

,'北京海淀');

insert

into student

values

('a273ea66-0a42-48d2-a17b-388a2feea244'

,'李%四',10

,'98765432130'

,null);

insert

into student

values

('eb0a220a-60ae-47b6-9e6d-a901da9fe355'

,'張李三',11

,'18338945560'

,'安徽六安');

insert

into student

values

('6ab71673-9502-44ba-8db0-7f625f17a67d'

,'王_五',28

,'98765432130'

,'北京朝陽區');

insert

into student

values

('0055d61c-eb51-4696-b2da-506e81c3f566'

,'王_五%%',11

,'13856901237'

,'吉林省長春市寬平區'

);

#%匹配0次或多次

select

*from student where name like

'張%'

;#查詢姓張的學生資訊

select

*from student where name like

'%李%'

;#查詢姓名中含有「李」字的學生資訊

所謂匹配就是百分號對應的字元,可以對應零個、乙個或多個

#_下劃線只能且必須匹配一次

select

*from student where name like

'張_'

下劃線_必須匹配乙個字元,且只能匹配乙個字元,張立三就查不出來

#escape:取消%或_字元的萬用字元特性

#查詢姓名中含有%字元的學生資訊

select

*from student where name like

'%#%%'

escape

'#'#查詢姓名中含有%字元的學生資訊

select

*from student where name like

'%$_%'

escape

'$'#查詢姓名以%%結尾的學生資訊

escape後面單引號中只能是單個字元;

escape後面可以是字母、#、$、,、\、_等字元;使這個字元後面的乙個字元失去其特性

mysql模糊查詢 MYSQL模糊查詢

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

mysql模糊查詢索引 MySQL模糊查詢全文索引

全文索引 mysql front dump 2.5 host localhost database test server version 4.0.12 nt log table structure for table t3 create table t3 name char 12 not null...

mysql 正反模糊查詢 mysql模糊查詢

mysql 使用內建函式進行模糊查詢 locate,position,instr,find in set 1 locate substr str,pos 方法 2 position substr in field 方法 3 instr str substr 方法 4 find in set str1...