Show Menu
Cheatography

MYSQL Cheat Sheet (DRAFT) by

Les base de sql requête ...

This is a draft cheat sheet. It is a work in progress and is not finished yet.

CRUD commande BDD

SHOW nomDeL­aBase
Voir la BDD
USE nomDeL­aBase
Utilisé une BDD
CREATE DATABASE nomDeL­aBase
Créer une BDD
DROP DATABASE ma_base
Supprimer une BDD

Ajout d'une colonne à une table

ALTER TABLE nom_table
ADD nom_co­lonne type_d­onnees
EX : ALTER TABLE utilis­ateur
ADD adress­e_rue VARCHA­R(255)

Supprimer une colonne d'une table

ALTER TABLE nom_table
DROP nom_co­lonne
EX: ALTER TABLE animal
DROP adress­e_rue

Renommer une colonne d'une table

ALTER TABLE nom_table
CHANGE colonn­e_a­nci­en_nom colonn­e_n­ouv­eau_nom type_d­onnees
ALTER TABLE
animal

CHANGE
image
image
DECIMA­L(255) NOT NULL;

Règle et convention

SQL exécute les actions de cette façon :
FROM
WHERE
SELECT

Le noms des tables doivent être en minuscules et au singulier.
Toutes les commandes sql sont en majuscule

Bonnes pratiques
Utilisez des identi­fiants et noms cohérents et descri­ptifs.
Faites un usage judicieux de l’espace et de l’inde­ntation afin de faciliter la lecture du code.
Utilisez la norme ISO 8601 pour les inform­ations tempor­elles (YYYY-­MM-­DDT­HH:­MM:­SS.S­SSSS).
Essayez de n’utiliser que des fonctions SQL standard au lieu des fonctions spécif­iques à chaque SGBD pour des raisons de portab­ilité.
Gardez le code court et évitez les redond­ances comme les parent­hèses ou guillemets superflus, ou encore les clauses WHERE qui peuvent être dérivées.
Commentez le code SQL lorsque c’est nécess­aire. Utilisez le style de commen­taires du langage C, en ouvrant avec / et fermant avec / là où c’est possible, autrement débutez les commen­taires avec -- et faites-les suivre par une nouvelle ligne.

Having

SELECT colonne1, SUM(co­lonne2)
FROM nom_table
GROUP BY colonne1
HAVING foncti­on(­col­onne2) operateur valeur

La condition HAVING en SQL est presque similaire à WHERE à la seule différence
que HAVING permet de filtrer en utilisant des fonctions telles que SUM(), COUNT(),
AVG(), MIN() ou MAX().
SELECT client, SUM(tarif)
FROM achat
GROUP BY client
HAVING SUM(tarif) > 40

Jointure

SELECT *
FROM table1
INNER JOIN table2 ON table1.id = table2.fk_id

OU

SELECT *
FROM table1
INNER JOIN table2
WHERE table1.id = table2.fk_id

FILTRE ORDRE

SELECT colonne1, colonne2
FROM table
ORDER BY colonne1

SELECT colonne1, colonne2, colonne3
FROM table
ORDER BY colonne1 DESC, colonne2 ASC

Par défaut les résultats sont classés par ordre ascendant
SELECT *
FROM utilis­ateur
ORDER BY nom

SELECT *
FROM utilis­ateur
ORDER BY nom, date_i­nsc­ription DESC
 

Créer une table

CREATE TABLE nomDeL­aTable (
nomDuChamp TYPE options ,
nomDuChamp TYPE options
);

typeS : VARCHA­R(n­bCa­rac­tère)
FLOAT
INTEGER
BOOLEAN
LONGTEXT

options:
DEFAULT {valeur}
NOT NULL
NULL
PRIMARY KEY
AUTO_I­NCR­EMENT
CREATE TABLE
animal
(
id
int(11) NOT NULL,
nom
varcha­r(255) NOT NULL,
descri­ption
longtext DEFAULT NULL,
image
varcha­r(255) NOT NULL,
poids
int(11) NOT NULL,
dangereux
tinyint(1) NOT NULL,
famille_id
int(11) NOT NULL
)

GROUP BY

SELECT colonne1, foncti­on(­col­onne2)
FROM table
GROUP BY colonne1

SELECT client, SUM(tarif)
FROM achat
GROUP BY client

La manière simple de comprendre le GROUP BY c’est tout simplement d’assi­miler qu’il va
éviter de présenter plusieurs fois les mêmes lignes. C’est une méthode pour éviter les doublons

Filtre Caractère

SELECT *
FROM client
WHERE ville LIKE 'N%'

LIKE ‘%a’ : le caractère “%” est un caractère joker qui remplace tous les autres caract­ères.
Ainsi, ce modèle permet de rechercher toutes les chaines de caractère qui se termine par un “a”.

LIKE ‘a%’ : ce modèle permet de rechercher toutes les lignes de “colonne” qui commence par un “a”.
LIKE ‘%a%’ : ce modèle est utilisé pour rechercher tous les enregi­str­ement qui utilisent le caractère
“a”.

LIKE ‘pa%on’ : ce modèle permet de rechercher les chaines qui commence par “pa” et qui se terminent
par “on”, comme “pantalon” ou “pardon”.

LIKE ‘a_c’ : peu utilisé, le caractère “_” (under­score) peut être remplacé par n’importe quel caractère,

Modifier des données

Modifier une ligne :
UPDATE table
SET colonne_1 = 'valeur 1', colonne_2 = 'valeur 2', colonne_3 = 'valeur 3'
WHERE condition

Modifier toutes les lignes :

UPDATE table
SET colonne = 'valeur'
Modifier une ligne :
UPDATE client
SET rue = '49 Rue Ameline',
ville = 'Saint­-Eu­sta­che­-la­-Fo­rêt',
code_p­ostal = '76210'
WHERE id = 2

Modifier toutes les lignes :
UPDATE client
SET pays = 'FRANCE'
 

LIMITE

SELECT *
FROM table
LIMIT 10

Cette requête permet de récupérer seulement les 10 premiers résultats d’une table.
SELECT *
FROM table
LIMIT 5, 10;

Cette requête retourne les enregi­str­ements 6 à 15 d’une table.
Le premier nombre est l’OFFSET tandis que le suivant est la limite.

Compar­aison

= Égale
<> Pas égale
!= Pas égale
> Supérieur à
< Inférieur à
>= Supérieur ou égale à
<= Inférieur ou égale à
IN Liste de plusieurs valeurs possibles
BETWEEN Valeur comprise dans un intervalle donné (utile pour les nombres ou dates)
LIKE Recherche en spécifiant le début, milieu ou fin d'un mot.
IS NULL Valeur est nulle
IS NOT NULL Valeur n'est pas nulle
NOT EXISTS contraire

Alias

SELECT column­_name AS alias_name
FROM table_­name;

SELECT column­_na­me(s)
FROM table_name AS alias_­name;

Alias

SELECT column­_name AS alias_name
FROM table_­name;

SELECT column­_na­me(s)
FROM table_name AS alias_­name;

Supprimer des données

Supprimer une ligne
DELETE FROM
table

WHERE condition
EX :
DELETE FROM
utilis­ateur

WHERE
id
= 1
Supprimer toutes les données d'une table
DELETE FROM
nomTable


EX: DELETE FROM
utilis­ateur

Sélect­ionné des données

SELECT
nomColonne
,
nomColonne
FROM nomDeL­aTable ;
SELECT 'id', nom FROM animal

AGREGA

AVG()pour calculer la moyenne d’un set de valeur. Permet de connaître le prix du panier moyen pour de chaque client
COUNT() pour compter le nombre de lignes concer­nées. Permet de savoir combien d’achats a été effectué par chaque client
MAX() pour récupérer la plus haute valeur. Pratique pour savoir l’achat le plus cher
MIN() pour récupérer la plus petite valeur. Utile par exemple pour connaître la date du premier achat d’un client
SUM() pour calculer la somme de plusieurs lignes. Permet par exemple de connaître le total de tous les achats d’un client

Créer des données

INSERT INTO nomDeL­aTable
(`colo­nne­1`,­`co­lon­ne2­`,`­col­onne3`)
VALUES
(valeur1, valeur2, valeur3,);

attention si la vateur de de type texte mettre des guille­mets.
pour les booleans mettre en majuscule.
INSERT INTO `animal` (`id`, `nom`, `descr­ipt­ion`, `image`, `poids`, `dange­reux`, `famil­le_id`)
VALUES
(36, 'Chien', 'Un animal domest­ique', 'chien.png', 10, 0, 13),
(39, 'Croco­dile', 'Un animal très danger­eux', 'croco.png', 500, 1, 14),
(40, 'Requin', 'Un animal marin très danger­eux', 'requi­n.png', 800, 1, 15);