目次
- 1 1. MySQLi stringi operatsioonide põhialused
- 2 2. MySQLi põhivälja lõikamine – SUBSTRING funktsioon
- 3 3. LEFT- ja RIGHT-funktsioonidega teksti lõikamine
- 4 4. SUBSTRING_INDEX funktsiooni kasutamine stringide jagamiseks
- 5 5. Praktilised rakendused: stringide lõikamine andmebaasi operatsioonides
- 6 6. Soovitused jõudluse optimeerimiseks
- 7 7. Kokkuvõte
1. MySQLi stringi operatsioonide põhialused
Andmebaasi haldamisel on stringi operatsioonid andmete töötlemise ja päringu tulemuste optimeerimise jaoks hädavajalik oskus. MySQL pakub mugavaid funktsioone stringide lõikamiseks ja manipuleerimiseks. Selles artiklis keskendume eriti oluliseleSUBSTRING
funktsioonile, tutvustame ka teisi stringi operatsioonide meetodeid ning selgitame praktilisi kasutusviise.2. MySQLi põhivälja lõikamine – SUBSTRING funktsioon
MySQLiSUBSTRING
funktsioon on üks enim kasutatud funktsioone, kui soovitakse stringi osa määrata ja välja võtta.SUBSTRING funktsiooni põhiline süntaks
SUBSTRING(String, Alguspositsioon, Märgi arv)
- String: Lõigatav string.
- Alguspositsioon: Lõikamise alguspositsioon (esimese tähe positsioon on 1).
- Märgi arv: Väljastatavate märkide arv (kui jäetakse vahele, võetakse alates alguspositsioonist kuni lõppeni).
Näide: Põhiline kasutusnäide
SELECT SUBSTRING('Hello World', 2, 5);
Selles päringus lõigatakse stringist “Hello World” alates teisest tähemärgist viis tähemärki, tulemuseks on “ello “.SUBSTRING funktsioon negatiivsete väärtustega
Negatiivse väärtuse määramine alguspositsioonile võimaldab lõigata stringi lõpu poole loendades.SELECT SUBSTRING('abcdefg', -3, 2);
See päring tagastab lõpu kolmanda ja neljanda tähe “ef”.3. LEFT- ja RIGHT-funktsioonidega teksti lõikamine
SUBSTRING
funktsiooni asemel võite kasutada LEFT
– ja RIGHT
-funktsioone, et saada määratud arv tähemärke teksti algusest või lõpust.LEFT-funktsioon
LEFT
funktsioon lõikab teksti vasakult servast määratud arvu tähemärke.SELECT LEFT('abcdefg', 3);
Selles päringus saadakse tulemuseks “abc”.RIGHT-funktsioon
Teisest küljest,RIGHT
funktsioon võtab teksti paremalt servalt määratud arvu tähemärke.SELECT RIGHT('abcdefg', 3);
See päring tagastab tulemuseks “efg”. Need funktsioonid on eriti kasulikud, kui on vaja lõigata kindel arv tähemärke kas vasakult või paremalt küljelt.4. SUBSTRING_INDEX funktsiooni kasutamine stringide jagamiseks
SUBSTRING_INDEX
funktsioon kasutatakse stringi jagamiseks määratud eraldusmärgi alusel ja konkreetse alamsõne saamiseks. See on eriti kasulik CSV-de või mitme väärtuse ühendatud väljade puhul。SUBSTRING_INDEX funktsiooni põhiline süntaks
SUBSTRING_INDEX(string, eraldusmärk, N)
- string: Operatsiooni sihtstring。
- eraldusmärk: Stringi jagamise aluseks olev märk (näiteks: koma)。
- N: Saadavate eralduste arv. Positiivne väärtus loeb algusest, negatiivne väärtus loeb lõpus。
Näide: kasutusnäide
SELECT SUBSTRING_INDEX('apple,orange,banana', ',', 2);
Selles päringus saadakse komaga eraldatud ‘apple,orange,banana’ stringist esimesed kaks ‘apple,orange’。
5. Praktilised rakendused: stringide lõikamine andmebaasi operatsioonides
Stringide töötlem on andmebaaside haldamisel väga kasulik. Siin tutvustame mõnda rakenduse näidet.Toote nime osa väljavõtmine
Järgnevas päringus otsitakse andmeid, mille tootenimi lõpeb sõnaga “suur portsjon”.SELECT * FROM products WHERE SUBSTRING(name, -2, 2) = 'suur portsjon';
Nii saab määrata andmete lõpuosa ja väljavõtta kirjed, mis vastavad kindlale tingimusele.Arvuliste andmete lõikamine ja arvutamine
Näide, kus arvuvälja osa lõigatakse ja kasutatakse arvutustes.SELECT name, price, SUBSTRING(price, -2, 2) * 5 AS total FROM products;
Selles päringus lõigatakse toote hinna viimased kaks numbrit ja korrutatakse viiega, näidates tulemust “total”.6. Soovitused jõudluse optimeerimiseks
Stringi operatsioonid on mugavad, kuid suurtel andmebaasidel võivad need mõjutada jõudlust. Allpool on mõned näpunäited jõudluse parandamiseks.Kasuta indekseid
Kui otsite stringi osa, saab sobiva indeksi seadistamisega päringu kiirust märkimisväärselt parandada. Näiteks, kui kombineeriteLIKE
-lauset indeksi kanssa, on päring, mis otsib mustri algusest, nagu LIKE 'abc%'
, kõige optimaalsem. Kui kasutatakse tagasijärgnevaid vasteid, nagu LIKE '%abc'
, ei kasutata indeksit, mis võib jõudlust halvendada.Stringi operatsioonid suurte andmete korral
Kui suurtel tabelitel tehakse sageli stringi operatsioone, võib kaaluda stringi töötlemist rakendustasandil. Kui andmebaasis töötlemine muutub koormavaks, saab koormust vähendada, jaotades töö rakenduse poole.
7. Kokkuvõte
MySQL-i stringioperatsioonid on võimas tööriist andmete väljavõtmisel ja aruannete koostamisel.SUBSTRING
või LEFT
, RIGHT
jne funktsioonide nutikas kasutamine võimaldab vajaliku teabe lihtsalt välja võtta. Samuti on jõudluse optimeerimiseks oluline õigete indeksite seadistamine ja töötlusviiside läbimõeldud kasutamine. Nende tehnoloogiate valdamisega saate oma MySQL-i stringioperatsioonide oskusi veelgi parandada. Järgmise sammuna soovitame õppida regulaaravaldiseid ja muid edasijõudnud stringioperatsioonide tehnikaid.