mysql like tutorial with syntax
Овај водич објашњава подударање образаца помоћу оператора МиСКЛ ЛИКЕ:
Подударање образаца је важна карактеристика у готово свим програмским језицима, попут Јава / Ц # / Питхон итд., Који углавном користе употребу регуларних израза за подударање образаца према датом уносу низа.
МиСКЛ пружа једноставан за употребу оператер под називом ЛИКЕ, који се може користити за подударање вредности низа са одређеним обрасцима и користан је за испитивање великих скупова података.
Шта ћете научити:
МиСКЛ ЛИКЕ
Синтакса:
Оператор ЛИКЕ се користи заједно са клаузулом ВХЕРЕ у упиту СЕЛЕЦТ.
У једноставном упиту, синтакса изгледа као доле.
SELECT {column_names} (*) FROM {table_name} WHERE {column_with_string_value} LIKE {match_pattern}
Објашњене су различите компоненте ове синтаксе:
- {цолумн_намес}: То су имена колона која ће се приказати као излаз из упита СЕЛЕЦТ. Ове вредности могу бити * за одабир свих колона или имена одвојених зарезом одвојених зарезом.
- {име_табеле}: Ово је име табеле у којој треба извршити упит.
- {цолумн_витх_стринг_валуе}: Ово је колона чије вредности треба извршити према наведеном обрасцу. Имајте на уму да се свако поређење врши на колони која се може претворити у Стринг.
- {матцх_паттерн}: Ово је израз подударања са којим вредности колона треба упоређивати. Узорак образаца подударања може бити - ’ СМ% ’. Ово би се подударало са свим вредностима колона које почињу са СМ. Пример: ПАМЕТНО, МИРИС, ДИМ, итд.
Слично овом упиту, оператор ЛИКЕ се може користити чак и са сложеним упитима са ЈОИНС, итд., Јер је ЛИКЕ само оператор упоређивања и може се користити свуда где је поређење вредности колоне могуће.
Белешка: Слично ЛИКЕ, такође можемо користити његову негирану варијанту, која је „НОТ ЛИКЕ“. Дакле, у овом случају, уместо да врате подударне резултате, упити са оператором ‘НОТ ЛИКЕ’ вратиће резултате који се не подударају.
МиСКЛ обрасци подударања
ЛИКЕ Оператор се може користити заједно са 2 врсте образаца. Они су наведени у доњој табели:
Шаблон | |
---|---|
% (Проценат) | Подударање са било којим бројем знакова (укључујући ниједан знак) |
_ (Подвући) | Поклапа се са једним ликом |
Сада ћемо видети неколико примера који користе оба узорка.
% Образац подударања
% узорак се користи када желите да подударате 0 или више знакова након или пре његовог постављања.
На пример: ако желите да упарите низ „то“ из колоне која садржи имена запослених. Претпоставимо да постоје имена попут - Амит, Анцхит, Арпит, Никита, Смитх итд. Можемо видети да сва имена имају подниз „ит“. Али њихово позиционирање је другачије.
Претпоставимо да је име колоне имена а назив табеле је имена ученика.
Користите следеће узорке скрипти за креирање података за попуњавање базе података:
CREATE TABLE student_names (name VARCHAR(100)); INSERT INTO student_names VALUES('Amit'),('Ankit'),('Smith'),('Nikita'),('Mohit');
Погледајмо како можемо да користимо образац% подударања.
SELECT * FROM student_names WHERE name LIKE '%it%'
Излаз:
име |
---|
Амит |
Анкит |
Смитх |
Никита |
Мохит |
То сада значи да се може подударати са низом који има подниз „то“ на било којој локацији и може бити неограничен број знакова пре и после подударања. Можете видети да се сва одговарајућа имена враћају као излаз.
Препишите упит тако да се подударају само она имена која се завршавају поднизом „ит“.
SELECT * FROM student_names WHERE name LIKE '%it'
Дакле, овде смо уклонили пратећи знак „%“ и поставили низ „ит“ на крај. Овај образац би омогућио било који број знакова пре „ит“, али Стринг би требало да се завршава подстрингом „ит“.
Излаз горњег упита:
име |
---|
Амит |
Анкит |
Мохит |
Белешка: Овде је важно напоменути да образац поменут помоћу знака „%“ не разликује велика и мала слова. Дакле, за горњи пример, уместо „% ит“ могли смо да користимо „% ИТ“ или „% Ит“, излаз би и даље остао исти.
_Матцх Паттерн
Погледајмо сада како можемо да користимо образац подударања „_“. Знамо да „_“ дозвољава тачно један знак.
Претпоставимо да желимо да испитамо свих 5 слова из исте табеле (студентска_имена).
Да бисмо у овом случају користили подударање обрасца „_“, навели смо пет _ (доњих црта) заједно са ЛИКЕ Паттерн који ће одговарати само оним именима дужине 5 знакова.
SELECT * FROM student_names WHERE name LIKE '_____'
Излаз:
име |
---|
Анкит |
Мохит |
Смитх |
Погледајмо још један пример. Претпоставимо да желимо да пронађемо свих 5 слова која се завршавају поднизом „ит“
SELECT * FROM student_names WHERE name LIKE '___it'
Овде смо користили 3 „_“ (доње црте) и стварни подниз који треба да се подудара.
Излаз:
име |
---|
Анкит |
Мохит |
Смитх |
Комбиновање% анд _ Паттерн Матцхер
У овом одељку ћемо разговарати о томе како можемо заједно подударати% и _ узорке.
најбоље уклањање малвера за Виндовс 7
Претпоставимо да желимо да пронађемо сва имена која имају подниз „ит“ и могу имати тачно 2 знака иза речи „ит“
SELECT * FROM student_names WHERE name LIKE '%it_'
Овде смо комбиновали обрасце подударања% и _ да бисмо пронашли тачно подударање.
Излаз:
име |
---|
Смитх |
Никита |
Коришћење НОТ ЛИКЕ
НОТ ЛИКЕ је тачна негација онога што оператер ЛИКЕ враћа. тј. вратиће све записе / редове који се не подударају са изразом матцх-матцх.
Пример: Претпоставимо да желимо да пронађемо сва имена која нису дугачка 4 знака.
SELECT * FROM student_names WHERE name NOT LIKE '____'
Излаз:
име |
---|
Анкит |
Смитх |
Никита |
Мохит |
Можете видети у горњем излазу, враћа само она имена која нису дугачка 4 знака.
Коришћење МиСКЛ ЛИКЕ са ЕСЦАПЕ карактером
Овде ћемо видети како можемо да користимо ЕСЦАПЕ знакове заједно са подударањем образаца.
бесплатни софтвер за копирање ДВД-а у мп4
Претпоставимо да у хипотетској ситуацији имамо имена која у ствари садрже знакове% и _ и желимо да пронађемо та имена, тада заправо треба да се подударамо са% & _. То се може постићи коришћењем карактера за бекство.
Белешка: Подразумевана вредност излазног карактера је „“ (Бацксласх)
Додајте неке податке у табеле имена ученика која садрже имена са знаковима% и _.
INSERT INTO student_names VALUES('Darre%n'),('Julia_Roberts'),('Dane_Sherman%');
Испод су неки примери за боље разумевање овога.
# 1) Пронађите сва имена која имају знак%.
SELECT * FROM student_names WHERE name LIKE '%\%%'
Излаз:
име |
---|
Дарре% н |
Дане_Схерман% |
#два) Пронађите сва имена која имају знак _
SELECT * FROM student_names WHERE name LIKE '%\_%'
Излаз:
име |
---|
Јулиа_Робертс |
Дане_Схерман% |
У оба горња примера можете видети да смо користили излазни знак да бисмо поменули знакове% и _ - тј. За подударање самог знака% користили смо знак за избегавање пре знака% - тј. Попут „\%“
Коришћење лика за бег по вашем избору
Покушајмо сада да проширимо претходни пример.
МиСКЛ вам омогућава да одредите сопствени ЕСЦАПЕ карактер који би МиСКЛ требало да користи током покретања претраге са подударањем образаца.
Покушајмо да ажурирамо знак Есцапе на „!“ Уместо на подразумевану вредност „“
SELECT * FROM student_names WHERE name LIKE '%!_%' ESCAPE '!'
Излаз:
име |
---|
Јулиа_Робертс |
Дане_Схерман% |
У горњем примеру, надјачали смо знак за бекство на „!“ И користили смо исти у подударању образаца „%! _%“ - где желимо да подударамо са знаком „_“ у имену.
Често постављана питања
П # 1) Шта %% значи у СКЛ-у?
Одговор: „%%“ се неће подударати ни са једним одређеним. То је еквивалентно само постојању карактера од 1%. Ако желите да се подудара са самим знаком '%' у вредности колоне, можете га користити са излазним знаком који има подразумевану вредност '.
Претпоставимо да желите да се подудара са вредношћу колоне која има знак „%“, подударање обрасца можете да напишете као - ЛИКЕ „% %%“ (уочите додатну косу црту испред знака средњег процента (%).
П # 2) Шта је џокер у МиСКЛ-у?
Одговор: МиСКЛ ЛИКЕ Оператор ради са 2 џокерска знака у МиСКЛ-у да би постигао различите начине подударања образаца.
Су:
- % - Ово би се подударало са било којим бројем знакова (укључујући нулу)
- _ - Ово би одговарало тачно једном лику
П # 3) Како да напишем ЛИКЕ упит у МиСКЛ?
Одговор: ЛИКЕ је једноставан оператор који се обично користи заједно са клаузулом ВХЕРЕ у упиту СЕЛЕЦТ. Користи се за подударање вредности колона са наведеним узорком.
Пример: Претпоставимо да постоји табела која садржи детаље_запосленика и да има колону са називом адреса која садржи број куће, назив улице итд. Желите да сазнате све запослене којима је улица дефинисана као „Окфорд Лане“ као адреса.
Можемо да користимо оператор ЛИКЕ да напишемо такав упит.
SELECT * FROM employee_details WHERE address LIKE '%Oxford Lane%'
Имајте на уму да узори низа су неосетљив случај док се подудара са наведеним изразом подударања.
П # 4) Како одредити други Есцапе знак заједно са ЛИКЕ Оператором?
Одговор: МиСКЛ пружа начин за специфицирање прилагођеног Есцапе знака који би заменио задати, тј.
Ево примера који би променио знак за излаз у „!“ За извршавање упита.
SELECT * FROM employee_details WHERE address LIKE '%!_%' ESCAPE '!'
У горенаведеном упиту поменули смо „!“ Као излазни знак и користили исто у изразу подударања.
П # 5) Како се подудара са стварним знаком% или _ помоћу оператора ЛИКЕ?
Одговор: Знакови попут% и _ су посебни џокерски знакови, који када заправо треба да се подударају као део низа треба избећи.
Подразумевани излазни знак је „“ и требало би га користити непосредно пре помена џокер знака.
Претпоставимо да желимо да упаримо знак '_' са датом вредношћу колоне, онда израз подударања можемо написати као - КАО '%\_%'
Закључак
У овом упутству смо сазнали о различитим начинима на које можемо да користимо оператор ЛИКЕ (или поништену верзију, тј. НЕ ЛИКЕ).
Такође смо разговарали о подржаним џокер знаковима, тј. _ И% и како се може избећи ако треба да буду део низа за претрагу / подударање.
Оператор ЛИКЕ је моћна функционалност коју пружа МиСКЛ и обично се користи за филтрирање записа док се врши испитивање великих скупова података.
Препоручено читање
- МиСКЛ Водич за креирање погледа са примерима кода
- МиСКЛ УНИОН - свеобухватан водич са примерима синдиката
- МиСКЛ Водич за креирање табела са примерима
- МиСКЛ Убаци у табелу - Убаци синтаксу и примере изјаве
- Синтакса наредбе Уник Цат, опције са примерима
- Водич за Ц # Регек: Шта је Ц # регуларни израз
- Водич за регекс језика Ц ++: Регуларни изрази у језику Ц ++ са примерима
- Водич за Јава Регек са примерима редовног израза