Introduksjon til jokertegn
Et jokertegn er et tegn eller en gruppe tegn som kan søkes og erstattes i en bestemt gitt streng. Jokertegn tegn brukes med MySQL spørringer med LIKE operatøren. Denne LIKE-operatøren brukes i hvor-leddet i MySQL-spørringen. Med hvor ledd kan vi søke etter et bestemt mønster for en bestemt kolonne i tabellen.
Eksempel:
% jokertegn brukes til å like% ab vil finne alle ab i et gitt sett med data (poster) som produserer utdata som omtrent, over, overflod, absorberende og så videre …
Hvorfor bruker vi WildCards?
Som du er kjent med MySQL, har vi forskjellige spørsmål som INSERT, UPDATE, SELECT, DELETE, etc. Siden jokertegn gjør jobben med å søke i et bestemt mønster, vil SELECT-setningen sammen med WHERE-leddet komme inn i bildet, i stedet for andre MySQL-spørsmål. For å gjøre søket med jokertegn enklere, la oss se på et enkelt eksempel på kunstnere og maleriets eksempel. Si, det er forskjellige malerier skapt av forskjellige kunstnere tilgjengelig i forskjellige regioner i verden til forskjellige priser. La databasenavnet være ditt valg si "search_artist"
Tabellenavnet er artisten
Her er opprette et søk for å opprette tabellen 'artist'
CREATE TABLE `artist` (
`artist_id` int(11) NOT NULL,
`artist_name` varchar(255) NOT NULL,
`artist_painting` varchar(255) NOT NULL,
`artist_country_name` varchar(255) NOT NULL,
`artist_country_code` varchar(255) NOT NULL,
`artist_painting_price` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Etter at tabellen er opprettet, vil vi sette inn dataene i tabellen
Dumpedata for tabell `artist`
INSERT INTO `artist` (`artist_id`, `artist_name`, `artist_painting`, `artist_country_name`, `artist_country_code`, `artist_painting_price`) VALUES
(1, 'Leonardo Da Vinci', 'Mona Lisa', 'Angola', 'AO', '$500'),
(2, 'Edvard Munch', 'The Scream', 'Bahrain', 'BH', '$600'),
(3, 'Sistine Chapel by Michelangelo', 'The Creation of Adam', 'Bangladesh', 'BD', '$700'),
(4, 'Vincent Van Gogh', 'Sun Flowers', 'Malaysia', 'MY', '$550'),
(5, 'Rene Magritte', 'Ceci N'est pas une Pipe', 'Madagascar', 'MG', '$850'),
(6, 'Edvard Munch', 'The Scream', 'Portugal', 'PT', '$750'),
(7, 'Leonardo Da Vinci', 'Mona Lisa', 'Poland', 'PL', '$500'),
(8, 'Claude Monet', 'Poppies in a Field', 'Vietnam', 'VN', '$650');
Når du har utført spørringen ovenfor, vil følgende tabell bli opprettet
Prosenten
Eksempel 1: Nå vil vi vite hvilken kunstner som har sitt maleri i landene der landets navn begynner med "BA"
SØK-spørringen går slik
SELECT * FROM artist WHERE artist_country_name LIKE 'Ba%'
The result is country names starting with Ba are “Bahrain” and “Bangladesh”
Utfører spørringen ovenfor i MySQL
Output av spørringen
Eksempel to: Her vil vi vite hvilken kunstner som har sitt maleri i landene som inneholder “al”
Løsningen er
SELECT * FROM artist WHERE artist_country_name LIKE '%al%'
The result is country names starting with Ba are “Malaysia” and “Portugal”
Utfører spørringen ovenfor i MySQL
Output av spørringen
I de to eksemplene ovenfor har vi enkelt jokertegn som er '%'
Nå vil vi se etter beslektede jokertegn som _ jokertegn (understreking av jokertegn), rømningsnøkkelord, IKKE LIKE søkeord osv.
La oss se på det andre jokerteknet som er _understreke jokertegn
_ understrekning av jokertegn
Eksempel 1: Dette brukes også med SELECT-setningen sammen med hvor leddet hvor i _ står for et hvilket som helst enkelt tegn, som kan være hva som helst
Løsningen erSELECT * FROM artist WHERE `artist_painting_price` LIKE '$5_0'
The result is painting price names with this pattern will give output as
$500, $550, $500 in the painting price column
Utfører spørringen ovenfor i MySQL
Output av spørringen
Eksempel to:
Løsningen erSELECT * FROM artist WHERE `artist_country_code` LIKE 'A_'
Utfører spørringen ovenfor i MySQL
Utdata av spørringen ovenfor
Før du dykker i det tredje jokerteknet vil vi se kombinasjonen av de to jokertegnene ovenfor, kombinasjonen av '_' og '%' jokertegn.
Wildcard-kombinasjon | Betydning |
HVOR artist_painiting LIKE 'Mo%' | Returnerer alle verdiene som begynner med “Mo” |
HVOR artist_country_name LIKE '% n' | Returnerer alle verdiene som slutter med “n” |
HVOR artist_country_name LIKE '% da%' | Returnerer alle verdiene som har “da” i hvilken som helst posisjon |
HVOR artist_country_name LIKE '_o%' | Returnerer alle verdiene som har “o” i den andre posisjonen |
HVOR artistnavn som "L% i" | Returnerer alle verdiene som begynner med “L” og slutter med “i” |
La oss se på det tredje jokerteknet som IKKE ER LIKE jokertegn
IKKE SOM jokertegn
Denne IKKE LIKE operatøren som andre brukes med hvor klausul om valgt uttalelse og understreking og prosentvis jokertegn. Den returnerer radene fra tabellen der det gitte mønsteret ikke stemmer.
Eksempel 1: Vi vil ikke ha platene der kunstnermalingen har en pris på $ 600 og $ 650
Løsningen er:
SELECT * FROM artist WHERE `artist_painting_price` NOT LIKE '$5%'
Utfører spørringen ovenfor i MySQL med Output
The Fourth Wildcard er (karakterlist) med REGEXP
Eksempel ett: Vi vil ha postene som inneholder alle tegn som samsvarer med mønsteret som finnes i braketten.
Løsningen er:SELECT * FROM artist WHERE `artist_country_name` REGEXP '^(po)'
Her resulterer artist_country_name som inneholder gruppen av tegn som po, i to poster som bare inneholder Portugal og Polen.
Utfører spørringen ovenfor i MySQL med Output
Det femte wildcard er IKKE med REGEXP nøkkelord
Eksempel: Vi vil ha postene som inneholder alle tegn, bortsett fra de tegnene som er til stede i braketten.
Løsningen er:
SELECT * FROM artist WHERE artist_country_name REGEXP '^(^po)'
Utfører spørringen ovenfor i MySQL med Output
The Sixth Wildcard Escape søkeord
Eksempel én: I dette eksemplet er artistens navn inngangen som blir søkt i en tabell etter et gitt mønster ved hjelp av et fluktord. Det vil være mer tydelig med følgende eksempel.
Løsningen er:
SELECT * FROM artist WHERE `artist_name` LIKE '%$ Da %' ESCAPE '$'
Utfører spørringen ovenfor i MySQL med Output
Det syvende jokertegn '|' nøkkelord for å utføre et søk basert på gitte alfabeter.
Eksempel to: Vi vil ha postene som har fornavnene starter med tegnet L eller S
Løsningen er:
SELECT * FROM artist WHERE `artist_painting` REGEXP '^(L|S)'
Utfører spørringen ovenfor i MySQL med Output
Konklusjon - jokertegn
Med dette emnet håper vi at du lærte% og _ jokertegn med eksempler. I tillegg lærer du IKKE LIKE Operatør, søket med fluktordet, (karakterlisten) og andre. Alt dette ble gjort klart ved å utføre en SELECT-spørring med en hvor klausul på "artist" -bordet. Forhåpentligvis ble hvert tema lettere å forstå og forstå.
Anbefalte artikler
Dette har vært en guide til jokertegn. Her har vi diskutert hva som er jokertegn, hvordan du bruker jokertegn og hvordan du oppretter en tabell osv. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -
- Jokertegn i SQL
- Filtre i Tableau
- Bruk av SQL
- T-SQL-strengfunksjoner
- Regex-funksjoner i Python (eksempel)