Ce guide pratique SQL rassemble les commandes les plus utilisées quotidiennement par un développeur, classées par tâche. Chaque section associe la syntaxe exacte à une description claire, couvrant la création de bases de données, les types de données, les requêtes, le filtrage, les jointures et l'indexation.
🇧🇷 Commandes de structure : Les commandes CREATE DATABASE, CREATE TABLE, ALTER, RENAME et DROP définissent et remodèlent le schéma.
(I.e. Types de données: Les types numérique, texte, date et binaire définissent la taille de stockage et la plage de validité de chaque colonne.
???? Commandes de récupération : La requête SELECT avec les options WHERE, IN, LIKE et REGEXP permet de restreindre un ensemble de résultats aux lignes pertinentes.
✍️ Commandes de modification : Les instructions INSERT, UPDATE et DELETE modifient les lignes stockées et acceptent chacune une condition optionnelle.
(I.e. Commandes d'agrégation : GROUP BY avec COUNT, MIN, MAX, SUM et AVG résume les données et HAVING filtre les groupes.
🔗 Commandes combinées : JOIN fusionne les tables côte à côte, tandis que UNION empile les résultats de deux requêtes.
Créer des commandes de base de données et de table
Chaque session SQL commence par une base de données et au moins une table pour stocker les lignes.
Command
Description
CREATE DATABASE database1;
Créer une base de données
CREATE DATABASE IF NOT EXISTS database1;
IF NOT EXISTS vous permet de donner des instructions MySQL Le serveur vérifie l'existence d'une base de données portant un nom similaire avant de créer la base de données.
CREATE DATABASE IF NOT EXISTS database1 CHARACTER SET latin1 COLLATE latin1_swedish_ci;
Le jeu de caractères latin1 utilise le classement latin1_swedish_ci, qui est l'ordre insensible à la casse suédois.
SHOW DATABASES;
Vous pouvez consulter la liste des bases de données existantes en exécutant cette commande SQL.
UPDATE table_name SET column_name = new_value [WHERE condition];
Syntaxe de la commande de mise à jour
ORDER BY en SQL : commande DESC et ASC
Command
Description
SELECT statement... [WHERE condition | GROUP BY field_name(s) HAVING condition] ORDER BY field_name(s) [ASC | DESC];
Syntaxe de base de la clause ORDER BY
SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC | DESC [LIMIT N];
Syntaxe DESC et ASC
Commande SQL GROUP BY et HAVING Clause
PAR GROUPE regroupe les lignes et filtre ces groupes une fois formés.
Par groupe
Command
Description
SELECT statements... GROUP BY column_name1[, column_name2, ...] [HAVING condition];
Syntaxe GROUP BY
Grouping et fonctions agrégées
Command
Description
SELECT t2, COUNT(t1) FROM table1 GROUP BY t2;
Supposons que nous voulions le nombre total de valeurs de colonne t2 dans notre base de données.
Clause AVOIR
Command
Description
SELECT * FROM table2 GROUP BY t1_id, t4 HAVING t1_id = x1;
Renvoie toutes les valeurs t4 pour les lignes de table2 dont t1_id est x1.
Commandes SQL Wildcards pour Like, NOT Like, Escape, ( % ), ( _ )
Les caractères génériques permettent à LIKE de correspondre à des chaînes partielles.
% la commande générique de pourcentage dans MySQL
Command
Description
SELECT statements... WHERE fieldname LIKE 'xxx%';
Syntaxe de base pour le caractère générique % (pourcentage), qui correspond à n'importe quel nombre de caractères.
_ commande de caractère générique de soulignement
Command
Description
SELECT * FROM table1 WHERE t3 LIKE 'x2_';
Le trait de soulignement correspond exactement à un seul caractère.
PAS comme la commande générique
Command
Description
SELECT * FROM table1 WHERE t3 NOT LIKE 'x2_';
Supposons que nous voulions les lignes de la table1 dont la valeur t3 ne correspond pas au modèle.
Commande de caractère générique de mot-clé d'échappement
Command
Description
LIKE '67#%' ESCAPE '#';
Vérifie la présence de la chaîne littérale « 67 % », car # permet d’échapper au caractère générique.
Expressions régulières SQL (REGEXP)
Command
Description
SELECT statements... WHERE fieldname REGEXP 'pattern';
Syntaxe de base d'une correspondance d'expression régulière
Métacaractères d'expression régulière
Command
Description
*
Le métacaractère astérisque (*) correspond à zéro ou plusieurs occurrences de la chaîne qui le précède.
+
Le métacaractère plus (+) correspond à une ou plusieurs occurrences de la chaîne qui le précède.
?
Le métacaractère point d'interrogation (?) correspond à zéro ou une occurrence de la chaîne qui le précède.
.
Le métacaractère point (.) correspond à n'importe quel caractère unique sauf une nouvelle ligne.
[abc]
La liste de caractères [abc] correspond à n'importe lequel des caractères inclus.
[^abc]
La liste de caractères [^abc] correspond à n'importe quel caractère à l'exception de ceux entre parenthèses.
[A-Z]
La plage [AZ] correspond à n'importe quelle lettre majuscule.
[a-z]
La plage [az] correspond à n'importe quelle lettre minuscule.
[0-9]
La plage [0-9] correspond à n'importe quel chiffre de 0 à 9.
^
Le symbole accent circonflexe (^) ancre la correspondance au début.
|
La barre verticale (|) isole les alternatives.
[[:<:]]
Le marqueur [[:<:]] correspond au début des mots.
[[:>:]]
Le marqueur [[:>:]] correspond à la fin des mots.
[:class:]
Le marqueur [:class:] correspond à une classe de caractères, par exemple [:alpha:] pour les lettres, [:space:] pour les espaces blancs, [:punct:] pour la ponctuation et [:upper:] pour les lettres majuscules.
Commandes des fonctions SQL
Fonctions de chaîne
Command
Description
SELECT t1_id, t2, UCASE(t2) FROM table1;
La fonction UCASE prend une chaîne de caractères comme paramètre et convertit toutes les lettres en majuscules.
Fonctions numériques
Command
Description
Exemple
DIV
Division entière
SELECT 23 DIV 6;
/
Division
SELECT 23 / 6;
-
Soltracproduction
SELECT 23 - 6;
+
Addition
SELECT 23 + 6;
*
Multiplier
SELECT 23 * 6 AS multiplication_result;
% or MOD
Module
SELECT 23 % 6; or SELECT 23 MOD 6;
FLOOR
Supprime la virgule d'un nombre et l'arrondit à l'entier inférieur le plus proche.
SELECT FLOOR(23 / 6) AS floor_result;
ROUND
Arrondit un nombre décimal à l'entier le plus proche.
SELECT ROUND(23 / 6) AS round_result;
Fonctions stockées
Command
Description
CREATE FUNCTION sf_name ([parameter(s)])
Obligatoire. Indique MySQL serveur pour créer une fonction nommée sf_name avec les paramètres optionnels définis entre parenthèses.
RETURNS data type
Obligatoire. Spécifie le type de données renvoyé par la fonction.
DETERMINISTIC
La fonction renvoie la même valeur quel que soit l'argument qui lui est fourni.
STATEMENTS
Le code procédural que la fonction exécute.
Commandes de la fonction SQL Aggregate
Command
Description
SELECT COUNT(t1_id) FROM table1 WHERE t1_id = 2;
Fonction COUNT
SELECT MIN(t3) FROM table2;
Fonction MIN
SELECT MAX(t3) FROM table2;
Fonction MAX
SELECT SUM(t4) FROM table3;
Fonction SUM
SELECT AVG(t4) FROM table3;
AVG fonction
Commandes SQL EST NULL ET N'EST PAS NULL
A NULL La valeur est absente, elle doit donc être testée avec IS NULL plutôt qu'avec l'opérateur d'égalité.
Command
Description
SELECT COUNT(t3) FROM table1;
La fonction COUNT ignore les valeurs NULL dans la colonne.
CREATE TABLE table2(
t1_number int NOT NULL,
t2_names varchar(255),
t3 varchar(6)
);
L'instruction NOT NULL interdit les valeurs vides dans une colonne.
Ces commandes modifient une table qui contient déjà des données.
Command
Description
ALTER TABLE table_name ADD COLUMN column_name data_type;
Syntaxe ALTER
DROP TABLE sample_table;
Syntaxe DROP TABLE
RENAME TABLE current_table_name TO new_table_name;
Syntaxe de la commande RENAME
ALTER TABLE table1 CHANGE COLUMN t1_names t1name char(250) NOT NULL;
CHANGER le mot-clé
ALTER TABLE table1 MODIFY t1name char(50) NOT NULL;
Mot-clé MODIFIER
ALTER TABLE table1 ADD t4 date NULL AFTER t3;
APRÈS le mot-clé
LIMITE ET DÉCALAGE SQL
Command
Description
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
Syntaxe du mot clé LIMIT
SELECT * FROM table1 LIMIT 1, 2;
Décalage dans la requête LIMIT : ignorer 1 ligne, puis en renvoyer 2.
Commandes de sous-requête SQL
Command
Description
SELECT t1_name FROM table1 WHERE category_id = (SELECT MIN(t1_id) FROM table2);
Sous-requêtes
Commandes SQL JOINS
Se joint Combiner les colonnes de deux tables en un seul ensemble de résultats.
Command
Description
SELECT * FROM table1 CROSS JOIN table2;
Croix JOIN
SELECT table1.t1, table1.t2, table2.t1
FROM table1, table2
WHERE table2.id = table1.table2_id;
JOINTURE INTERNE
SELECT A.t1, B.t2, B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
ON B.table2_id = A.id;
JOINDRE GAUCHE
SELECT A.t1, A.t2, B.t3
FROM table1 AS A
RIGHT JOIN table2 AS B
ON B.id = A.table2_id;
JOINDRE À DROITE
SELECT A.t1, B.t2, B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
USING (table2_id);
Clauses « ON » et « USING »
Commandes SQL UNION
UNION empile les lignes de deux requêtes, tandis que JOIN les élargit en plusieurs colonnes.
Command
Description
SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2;
Syntaxe UNION. Les lignes en double sont supprimées.
SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2;
L'UNION ALL conserve les lignes en double.
Commandes SQL dans les vues
Vues Stockez une requête sous un nom afin qu'elle puisse être réutilisée comme une table.
Command
Description
CREATE VIEW view_name AS SELECT statement;
Syntaxe des vues
DROP VIEW general_v_movie_rentals;
Goutteping vues
Commandes d'index SQL
Un index est une structure de recherche qui accélère considérablement les recherches sur une colonne.
Command
Description
CREATE INDEX id_index ON table_name(column_name);
Ajouter une syntaxe de base d'index
DROP INDEX index_id ON table_name;
Syntaxe de base de l'index de suppression
FAQ
Non. Les mots-clés tels que SELECT et WHERE fonctionnent dans tous les cas. La casse (majuscules) est une convention permettant de distinguer les commandes des identifiants. En revanche, les noms de tables peuvent être sensibles à la casse sous Linux.
La commande DELETE supprime les lignes sélectionnées et peut être annulée. La commande TRUNCATE vide rapidement toute la table et réinitialise AUTO_INCREMENT. La commande DROP supprime la définition de la table elle-même.
Les clauses FROM et JOIN sont exécutées en premier, suivies de WHERE, GROUP BY, HAVING, SELECT, ORDER BY et enfin LIMIT. C'est pourquoi un alias de colonne défini dans SELECT ne peut pas être utilisé dans WHERE.
Oui. Les assistants de conversion texte-SQL transforment une question en requête en utilisant le schéma de la table. Lisez toujours attentivement les conditions WHERE et JOIN générées, car une requête apparemment plausible peut renvoyer des résultats incorrects.
Oui. RevL’analyse des résultats de l’IA, l’optimisation des requêtes lentes et la lecture d’un plan d’exécution exigent une parfaite maîtrise des commandes. Une fiche de référence facilite la mémorisation, mais ne remplace pas la compréhension.
Résumez cet article avec :
Restez informé sur l'IAPrendre IA hebdomadaire Compétences, tendances, conseils pratiques.
Enregistrez-vous pour recevoir le bulletin d'informations
Vous vous êtes enregistré avec succès. Veuillez vérifier votre boîte de réception.
Choisi par plus de 350,000 une équipe de professionnels qualifiés