Vérifiez si la chaîne contient certaines données dans MySQL

Preet Sanghavi 30 janvier 2023
  1. Vérifiez si la chaîne contient certaines données dans MySQL à l’aide de la fonction LOCATE dans MySQL
  2. Vérifiez si la chaîne contient certaines données dans MySQL à l’aide de la fonction INSTR dans MySQL
  3. Vérifiez si la chaîne contient certaines données dans MySQL à l’aide de l’opérateur LIKE dans MySQL
Vérifiez si la chaîne contient certaines données dans MySQL

Dans ce tutoriel, nous visons à explorer différentes méthodes pour vérifier qu’une chaîne est contenue dans une table dans MySQL.

Nous allons passer en revue les techniques suivantes dans MySQL.

  • Fonction INSTR
  • Fonction LOCATE
  • Opérateur LIKE

Cependant, avant de commencer, nous créons un jeu de données factice avec lequel travailler. Ici, nous créons un tableau, student_details, avec quelques lignes dedans.

-- create the table student_details
CREATE TABLE student_details(
  stu_id int,
  stu_firstName varchar(255) DEFAULT NULL,
  stu_lastName varchar(255) DEFAULT NULL,
  primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName) 
 VALUES(1,"Preet","Sanghavi"),
 (2,"Rich","John"),
 (3,"Veron","Brow"),
 (4,"Geo","Jos"),
 (5,"Hash","Shah"),
 (6,"Sachin","Parker"),
 (7,"David","Miller");

La requête ci-dessus crée un tableau avec des lignes contenant le prénom et le nom de l’étudiant. Afin de visualiser les entrées dans les données, nous utilisons le code suivant.

SELECT * FROM student_details;

Le code ci-dessus donnerait la sortie suivante.

stu_id	stu_firstName	stu_lastName
1	      Preet	        Sanghavi
2	      Rich	        John
3	      Veron	        Brow
4	      Geo	        Jos
5	      Hash	        Shah
6	      Sachin	    Parker
7	      David	        Miller

Cherchons à trouver tous les élèves qui contiennent le mot Parker dans leur nom de famille.

Vérifiez si la chaîne contient certaines données dans MySQL à l’aide de la fonction LOCATE dans MySQL

La fonction de localisation de MySQL prend généralement 2 arguments, tels que LOCATE(substr, str). Ici, substr est la sous-chaîne transmise en tant que premier argument et str est la chaîne transmise en tant que deuxième argument. La sortie de la fonction LOCATE est la première ligne avec l’occurrence de la chaîne qui est passée en argument. Pour voir cette fonction en action, jetez un œil au code ci-dessous.

-- finding the word 'Park' from the table where the last name of the student is Park.
SELECT * FROM student_details WHERE LOCATE('Park', stu_lastName) > 0 ;

Le code ci-dessus donnerait la sortie suivante :

stu_id	stu_firstName	stu_lastName
6	      Sachin	      Parker

Vérifiez si la chaîne contient certaines données dans MySQL à l’aide de la fonction INSTR dans MySQL

Semblable à la fonction LOCATE, la fonction INSTR, INSTR(str, substr), prend 2 arguments. Cependant, cette fonction renvoie la valeur d’index de la première fois que la chaîne apparaît dans la sous-chaîne transmise en paramètres. Ici, le str est la chaîne transmise en tant que premier argument et substr est la sous-chaîne transmise en tant que deuxième argument. Pour voir cette fonction en action, jetez un œil au code ci-dessous.

-- finding the word 'Park' from the table where the last name of the student is Park.
SELECT * FROM student_details WHERE INSTR(stu_lastName , 'Parker') > 0;

Le code ci-dessus donnerait la sortie suivante.

stu_id	stu_firstName	stu_lastName
6	      Sachin	      Parker

Remarque : La façon dont les arguments sont passés dans les fonctions LOCATE(substr,str) et INSTR(str,substr) est différente.

Vérifiez si la chaîne contient certaines données dans MySQL à l’aide de l’opérateur LIKE dans MySQL

Une autre alternative pour trouver l’existence d’une chaîne dans vos données est d’utiliser LIKE. Cet opérateur est utilisé avec la clause WHERE pour rechercher une chaîne particulière. Pour voir cette technique en action, jetez un œil au code ci-dessous.

-- finding the word 'Park' from the table where the last name of the student is Parker.
SELECT * FROM student_details WHERE stu_lastName LIKE 'Parker' ;

Le code ci-dessus donnerait à nouveau la sortie suivante.

stu_id	stu_firstName	stu_lastName
6	      Sachin	      Parker

De plus, un %, également appelé caractère générique, est également utilisé avec l’opérateur LIKE. Ce caractère générique, comme son nom l’indique, ne représente aucun, un ou plusieurs caractères à sa place. Pour voir ce caractère générique en action, jetez un œil au code ci-dessous.

-- finding the student with last name ending in 'arker' from the table.
SELECT * FROM student_details WHERE stu_lastName LIKE '%arker' ;

Le code ci-dessus donnerait à nouveau la sortie suivante.

stu_id	stu_firstName	stu_lastName
6	      Sachin	      Parker

Ainsi, à l’aide des trois techniques ci-dessus, nous pouvons trouver efficacement l’existence d’une chaîne à partir d’une table.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

Article connexe - MySQL Query