Introduction aux caractères génériques
Un caractère générique est un caractère ou un groupe de caractères pouvant être recherché et remplacé dans une chaîne donnée. Les caractères génériques sont utilisés avec les requêtes MySQL avec l'opérateur LIKE. Cet opérateur LIKE est utilisé dans la clause where de la requête MySQL. Avec la clause where, nous pouvons rechercher un modèle particulier pour une colonne particulière de la table.
Exemple:
% wildcard est utilisé pour aimer% ab trouvera tous les ab dans un ensemble donné de données (enregistrements) produisant la sortie comme about, above, abondance, absorbant et ainsi de suite…
Pourquoi utilisons-nous des WildCards?
Comme vous connaissez MySQL, nous avons diverses requêtes comme INSERT, UPDATE, SELECT, DELETE, etc. Puisque les caractères génériques font le travail de recherche d'un modèle particulier, l'instruction SELECT ainsi que la clause WHERE apparaîtront dans l'image, plutôt que d'autres Requêtes MySQL. Pour faciliter la recherche avec des caractères génériques, examinons un exemple simple d'artistes et son exemple de peintures. Disons, il existe différentes peintures créées par différents artistes disponibles dans différentes régions du monde à des prix différents. Laissez le nom de la base de données de votre choix dire "search_artist"
Le nom de la table est l'artiste
Voici la création d'une requête pour créer la table 'artiste'
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;
Une fois la table créée, nous insérerons les données dans la table
Données de dumping pour la table «artiste»
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');
Une fois que vous avez exécuté la requête ci-dessus, le tableau suivant sera créé
Le% pourcentage
Exemple un: Maintenant, nous voulons savoir quel artiste qui a sa peinture dans les pays où le nom du pays commence par «BA»
La requête SEARCH va comme ceci
SELECT * FROM artist WHERE artist_country_name LIKE 'Ba%'
The result is country names starting with Ba are “Bahrain” and “Bangladesh”
Exécuter la requête ci-dessus dans MySQL
Sortie de la requête
Exemple 2: Ici, nous voulons savoir quel artiste a sa peinture dans les pays contenant "al"
La solution est
SELECT * FROM artist WHERE artist_country_name LIKE '%al%'
The result is country names starting with Ba are “Malaysia” and “Portugal”
Exécuter la requête ci-dessus dans MySQL
Sortie de la requête
Dans les deux exemples ci-dessus, nous avons un seul caractère générique qui est «%»
Maintenant, nous allons vérifier les caractères génériques connexes comme le caractère générique _ (le caractère générique de soulignement), le mot clé d'échappement, le mot clé NOT LIKE, etc.
Examinons le deuxième caractère générique, qui est le caractère générique _
_ souligner le caractère générique
Exemple un: Ceci est également utilisé avec l'instruction SELECT avec la clause where où dans le _ représente n'importe quel caractère unique, qui pourrait être n'importe quoi
La solution estSELECT * 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
Exécuter la requête ci-dessus dans MySQL
Sortie de la requête
Exemple deux:
La solution estSELECT * FROM artist WHERE `artist_country_code` LIKE 'A_'
Exécuter la requête ci-dessus dans MySQL
Sortie de la requête ci-dessus
Avant de plonger dans le troisième caractère générique, nous verrons la combinaison des deux caractères génériques ci-dessus, la combinaison des caractères génériques «_» et «%»
Combinaison générique | Sens |
O artist artist_painiting COMME 'Mo%' | Renvoie toutes les valeurs commençant par «Mo» |
OERE artist_country_name LIKE '% n' | Renvoie toutes les valeurs qui se terminent par «n» |
OERE artist_country_name LIKE '% da%' | Renvoie toutes les valeurs qui ont «da» dans n'importe quelle position |
OERE artist_country_name COMME '_o%' | Renvoie toutes les valeurs qui ont «o» en deuxième position |
OERE artist_name LIKE 'L% i' | Renvoie toutes les valeurs commençant par «L» et se terminant par «i» |
Examinons le troisième caractère générique qui n'est PAS COMME un caractère générique
PAS COMME joker
Cet opérateur NOT LIKE, comme les autres, est utilisé avec la clause where de l'instruction select et le caractère générique de soulignement et de pourcentage. Il renvoie les lignes de la table où le modèle donné ne correspond pas.
Exemple un: Nous ne voulons pas des enregistrements où l'artiste peignant a le prix de 600 $ et 650 $
La solution est:
SELECT * FROM artist WHERE `artist_painting_price` NOT LIKE '$5%'
Exécuter la requête ci-dessus dans MySQL avec sortie
Le quatrième caractère générique est (liste de caractères) avec REGEXP
Exemple un: Nous voulons que les enregistrements qui contiennent tous les caractères qui correspondent au modèle présent dans la parenthèse.
La solution est:SELECT * FROM artist WHERE `artist_country_name` REGEXP '^(po)'
Ici, le nom artist_country_name contenant le groupe de caractères comme po résulte en deux enregistrements qui ne contiennent que le Portugal et la Pologne.
Exécuter la requête ci-dessus dans MySQL avec sortie
Le cinquième caractère générique n'est PAS avec le mot clé REGEXP
Exemple: Nous voulons que les enregistrements contiennent tous les caractères sauf ceux qui sont présents dans la parenthèse.
La solution est:
SELECT * FROM artist WHERE artist_country_name REGEXP '^(^po)'
Exécuter la requête ci-dessus dans MySQL avec sortie
Le sixième mot-clé d'échappement Wildcard
Exemple 1: Dans cet exemple, le nom de l'artiste est l'entrée recherchée dans un tableau pour un motif donné à l'aide d'un mot-clé d'échappement. Ce sera plus clair avec l'exemple suivant.
La solution est:
SELECT * FROM artist WHERE `artist_name` LIKE '%$ Da %' ESCAPE '$'
Exécuter la requête ci-dessus dans MySQL avec sortie
Le septième caractère générique '|' mot-clé pour effectuer une recherche basée sur des alphabets donnés.
Exemple deux: nous voulons que les enregistrements dont les prénoms commencent par le caractère L ou S
La solution est:
SELECT * FROM artist WHERE `artist_painting` REGEXP '^(L|S)'
Exécuter la requête ci-dessus dans MySQL avec sortie
Conclusion - Caractères génériques
Avec ce sujet, nous espérons que vous avez appris les caractères génériques% et _ avec des exemples. En outre, vous apprenez l'opérateur NOT LIKE, la requête de recherche avec le mot-clé d'échappement, la (liste de caractères) et d'autres. Tout cela a été rendu clair en effectuant une requête SELECT avec une clause where sur la table «artist». J'espère que chaque sujet est devenu plus facile à comprendre et à saisir.
Articles recommandés
Cela a été un guide pour les caractères génériques. Ici, nous avons discuté de ce que sont les caractères génériques, comment utiliser les caractères génériques et comment créer un tableau, etc. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -
- Caractère générique dans SQL
- Filtres dans Tableau
- Utilisations de SQL
- Fonctions de chaîne T-SQL
- Fonctions Regex en Python (exemple)