Vérifiez si la chaîne contient certaines données dans MySQL
- Vérifiez si la chaîne contient certaines données dans MySQL à l’aide de la fonction LOCATE dans MySQL
- Vérifiez si la chaîne contient certaines données dans MySQL à l’aide de la fonction INSTR dans MySQL
- Vérifiez si la chaîne contient certaines données dans MySQL à l’aide de l’opérateur LIKE 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.