Introduktion til jokertegn
Et jokertegn er et tegn eller en gruppe af tegn, der kan søges og erstattes i en bestemt given streng. Wildcard-tegn bruges med MySQL-forespørgsler med LIKE-operatøren. Denne LIKE-operatør bruges i hvor-klausulen i MySQL-forespørgslen. Med hvor klausul kan vi søge efter et bestemt mønster for en bestemt kolonne i tabellen.
Eksempel:
% jokertegn bruges til at lide% ab finder alle ab i et givet sæt data (poster), der producerer output som omkring, over, overflod, absorberende og så videre …
Hvorfor bruger vi WildCards?
Som du er bekendt med MySQL, har vi forskellige forespørgsler som INSERT, UPDATE, SELECT, DELETE osv. Da jokertegn gør jobbet med at søge efter et bestemt mønster, vil SELECT-sætningen sammen med WHERE-klausulen komme ind i billedet snarere end andre MySQL forespørgsler. Lad os undersøge et simpelt eksempel på kunstnere og hans malerieksempel for at gøre søgningen med jokertegn lettere. Sig, der er forskellige malerier skabt af forskellige kunstnere tilgængelige i forskellige regioner i verden til forskellige priser. Lad databasens navn være efter dit valg, siger “search_artist”
Bordnavnet er kunstneren
Her er opret en forespørgsel for at oprette tabellen 'kunstner'
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;
Når tabellen er oprettet, indsætter vi dataene i tabellen
Dumpingdata for tabel 'kunstner'
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 udført ovenstående forespørgsel, oprettes følgende tabel
Procentprocenten
Eksempel 1: Nu vil vi vide, hvilken kunstner der har deres maleri i de lande, hvor landets navn starter med ”BA”
SØGNING-forespørgslen går sådan her
SELECT * FROM artist WHERE artist_country_name LIKE 'Ba%'
The result is country names starting with Ba are “Bahrain” and “Bangladesh”
Udførelse af ovenstående forespørgsel i MySQL
Output af forespørgslen
Eksempel to: Her vil vi gerne vide, hvilken kunstner der har deres maleri i de lande, der indeholder “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”
Udførelse af ovenstående forespørgsel i MySQL
Output af forespørgslen
I ovenstående to eksempler har vi et enkelt jokertegn, der er '%'
Nu tjekker vi for relaterede jokertegn som _ wildcard (understregede jokertegn), flugtord, IKKE LIKE nøgleord osv.
Lad os undersøge det andet jokertegn, der er _ understregning jokertegn
_ understregning jokertegn
Eksempel 1: Dette bruges også med SELECT-sætningen sammen med hvor klausul, hvor i _ står for ethvert enkelt tegn, hvilket kan være noget
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
Udførelse af ovenstående forespørgsel i MySQL
Output af forespørgslen
Eksempel to:
Løsningen erSELECT * FROM artist WHERE `artist_country_code` LIKE 'A_'
Udførelse af ovenstående forespørgsel i MySQL
Output af ovenstående forespørgsel
Før vi dykker i det tredje jokertegn, ser vi kombinationen af ovenstående to wildcards, kombinationen af '_' og '%' jokertegn.
Wildcard-kombination | Betyder |
HVOR artist_painiting LIKE 'Mo%' | Returnerer alle værdier, der starter med “Mo” |
HVOR artist_country_name LIKE '% n' | Returnerer alle værdier, der slutter med “n” |
HVOR artist_country_name LIKE '% da%' | Returnerer alle værdier, der har “da” i enhver position |
HVOR artist_country_name LIKE '_o%' | Returnerer alle værdier, der har “o” i den anden position |
HVOR artist_navn LIKE 'L% i' | Returnerer alle værdier, der starter med “L” og slutter med “i” |
Lad os undersøge det tredje jokertegn, der IKKE LIGER jokertegn
LIKER IKKE jokertegn
Denne IKKE LIKE operatør som andre bruges med hvor klausulet for den valgte sætning og understregningen og procentvis jokertegn. Det returnerer rækkerne fra tabellen, hvor det givne mønster ikke stemmer overens.
Eksempel 1: Vi ønsker ikke de poster, hvor kunstnermalingen har en pris på $ 600 og $ 650
Løsningen er:
SELECT * FROM artist WHERE `artist_painting_price` NOT LIKE '$5%'
Udførelse af ovenstående forespørgsel i MySQL med output
Det fjerde wildcard er (karakterliste) med REGEXP
Eksempel 1: Vi vil have posterne, der indeholder alle tegn, der matcher det mønster, der findes i beslaget.
Løsningen er:SELECT * FROM artist WHERE `artist_country_name` REGEXP '^(po)'
Her resulterer artist_country_name, der indeholder gruppen af tegn som po, i to poster, der kun indeholder Portugal og Polen.
Udførelse af ovenstående forespørgsel i MySQL med output
Det femte wildcard er IKKE med REGEXP nøgleord
Eksempel: Vi vil have posterne, der indeholder alle tegn undtagen de tegn, der findes i beslaget.
Løsningen er:
SELECT * FROM artist WHERE artist_country_name REGEXP '^(^po)'
Udførelse af ovenstående forespørgsel i MySQL med output
Det sjette nøgleord for undslip af wildcard
Eksempel 1: I dette eksempel er kunstnerens navn det input, der søges i en tabel efter et givet mønster ved hjælp af et flugtord. Det vil være mere tydeligt med følgende eksempel.
Løsningen er:
SELECT * FROM artist WHERE `artist_name` LIKE '%$ Da %' ESCAPE '$'
Udførelse af ovenstående forespørgsel i MySQL med output
Det syvende jokertegn '|' nøgleord til at udføre en søgning baseret på givne alfabeter.
Eksempel to: Vi vil have de poster, hvis fornavne starter med tegnet L eller S
Løsningen er:
SELECT * FROM artist WHERE `artist_painting` REGEXP '^(L|S)'
Udførelse af ovenstående forespørgsel i MySQL med output
Konklusion - Wildcard-tegn
Med dette emne håber vi, at du lærte% og _ jokertegn med eksempler. Du lærer også, IKKE LIKE Operatør, søgeforespørgslen med nøgleordet for flugt, (karakterlisten) og andre. Alt dette blev gjort klart ved at udføre en SELECT forespørgsel med en hvor klausul på "kunstner" -bordet. Forhåbentlig blev hvert emne lettere at forstå og forstå.
Anbefalede artikler
Dette har været en guide til jokertegn. Her har vi diskuteret, hvad der er jokertegn, hvordan man bruger jokertegn, og hvordan man opretter en tabel osv. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -
- Jokertegn i SQL
- Filtre i Tableau
- Anvendelser af SQL
- T-SQL strengfunktioner
- Regex-funktioner i Python (eksempel)