Gotinên birêkûpêk ên databasa MySQL çawa li hev dikin? MySQL regexp wekî karanîna

Databasa MySQLGotina birêkûpêk çawa li hev dike?MySQL regexp wek bikaranîna

Gotinên birêkûpêk ên MySQL

Di beşên berê de em fêr bûn ku MySQL dikare bibe ÇAWA...% ji bo berhevdana fuzzy.

MySQL di heman demê de lihevhatina bêjeyên birêkûpêk ên din jî piştgirî dike. Operatorê REGEXP di MySQL de ji bo lihevhatina vegotina birêkûpêk tê bikar anîn.

Ger hûn PHP an Perl dizanin, ew pir sade ye, ji ber ku lihevhatina birêkûpêk a MySQL dişibihe yên van tîpan.

Nimûneyên birêkûpêk ên di tabloya jêrîn de dikarin ji operatorê REGEXP re werin sepandin.

Modeterîf
^Destpêka rêzika têketinê li hev dike.^ di heman demê de pozîsyona piştî '\n' an '\r' li hev dike heke taybetmendiya Multiline ya objekta RegExp were danîn.
$Dawiya rêzika têketinê li hev dike.Ger taybetmendiya Multiline ya objekta RegExp were danîn, $ jî bi pozîsyona berî '\n' an '\r' re li hev dike.
.Ji xeynî "\n" bi her tîpekê re li hev dike.Ji bo ku her karakterek di nav de '\n' jî hebe, nimûneyeke mîna '[.\n]' bikar bînin.
[...]berhevoka karakteran.Her yek ji karakterên ku tê de hene li hev dike.Mînakî, '[abc]' dê bi "plai'a' di n".
[^…]Set karaktera neyînî.Bi her karakterê ku tê de nîn e li hev dike.Mînakî, '[^abc]' dê di "p" de "p" bihevre bibe.
p1|p2|p3P1 an p2 an p3 li hev dike.Mînakî, 'z|xwarin' dê bi "z" an jî "xwarinê" re bibe hev. '(z|f)ood' bi "zood" an "xwarin" re têkildar e.
*Binbêja berê bi sifir an jî zêdetir caran li hev dike.Mînakî, zo* dê "z" û hem jî "zoo" bide hev. * bi {0,} re hevwate ye.
+Yek an jî çend caran bi jêrîfroka pêşîn re li hev dike.Mînakî, 'zo+' dê bi "zo" û "zoo" re têkildar be, lê ne "z". + hevwateya {1,} ye.
{n}n jimareke ne-neyînî ye.Match diyarkirin n caran.Mînakî, 'o{2}' dê bi 'o'ya "Bob" re nebe hev, lê dê her du oyên di "xwarinê" de were hevber kirin.
{n,m}Hem m û hem jî n jimarên nerênî ne, ku n <= m.Bi kêmanî n caran û herî zêde jî m caran li hev dike.

Nûçe

Piştî ku em hewcedariyên birêkûpêk ên jorîn fam bikin, em dikarin li gorî daxwazên xwe daxuyaniyên SQL bi vegotinên rêkûpêk binivîsin.Li jêr em ê çend mînakên piçûk rêz bikin (navê tabloyê: person_tbl ) da ku têgihîştina xwe kûrtir bikin:

Di qada nav de hemî daneyên ku bi 'st' dest pê dikin bibînin:

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';

Hemî daneyên ku bi 'ok' bi dawî dibin di qada nav de bibînin:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';

Hemî daneyên ku tê de rêzika 'mar' heye di qada nav de bibînin:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';

Hemî daneyan di qada navê de ku bi tîpek dengdêr dest pê dike an bi rêzika 'ok' diqede bibînin:

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) parve kir " Meriv çawa bi îfadeyên birêkûpêk ên databasa MySQL re hevber dike? MySQL regexp wekî karanîna" dê ji we re bibe alîkar.

Bi xêr hatî bo parvekirina girêdana vê gotarê:https://www.chenweiliang.com/cwl-492.html

Hûn bi xêr hatin kanala Telegramê ya bloga Chen Weiliang da ku nûvekirinên herî dawî bistînin!

🔔 Bibin yê yekem ku di pelrêça jorîn a kanalê de "Rêbernameya Bikaranîna Amûra AI-ya Kirrûbirra Naveroka ChatGPT" ya bi qîmet bistîne! 🌟
📚 Ev rêber nirxek pir mezin dihewîne, 🌟Ev derfetek kêm e, wê ji dest nede! ⏰⌛💨
Heke hûn hez dikin parve bikin û hez bikin!
Parvekirin û ecibandinên we motîvasyona meya domdar e!

 

评论

Navnîşana e-nameya we nayê weşandin. Zeviyên pêdivî têne bikar anîn * Awanasî

li jor bigerin