Cette requête donne la taille (en Mo) occupée par les tables d'une base de données, de la plus à la moins volumineuse.
Cette requête ne fonctionne qu'avec une version de MySQL possédant un catalogue (version 5.0.2 ou postérieure).
Comment peut-on évaluer l'efficacité d'un index ?
Un index est efficace si il est placé sur une colonne possédant peu de doublons (NULLs compris). En effet le SGBD indexe les valeurs, ce qui implique que la présence de doublons réduit le nombre d'index.
Autrement dit, un index est performant si la différence entre le nombre de tuples total et le nombre de valeurs distinctes tend vers 0.
Nous cher...
Le but de cette fonction est de convertir tous les caractères accentués vers leurs équivalents (non accentués) et de remplacer les espaces par des tirets.
Exemple d'utilisation
SELECT translate('très accentués', 'éèê', 'eee');
Nous obtenons en sortie
+---------------------------------------------+
| translate('très accentués', 'éèê', 'eee') |
+-------------------------------------------...
Rappel des règles de comptages
I = 1
V = 5
X = 10
L = 50
C = 100
D = 500
M = 1000
Lorsque les symboles sont semblables on les additionne : CC = 200
Lorsque le symbole de gauche est plus petit que celui de droite on effectue une soustraction : IX = 9
Il n'est pas autorisé d'avoir plus de trois symboles semblables à la suite : IIII n'existe pas.
Compte tenu de ces règles, on ne peut compter seuleme...
Rappel des règles de comptages
I = 1
V = 5
X = 10
L = 50
C = 100
D = 500
M = 1000
Lorsque les symboles sont semblables on les additionne : CC = 200
Lorsque le symbole de gauche est plus petit que celui de droite on effectue une soustraction : IX = 9
Il n'est pas autorisé d'avoir plus de trois symboles semblables à la suite : IIII n'existe pas.
Compte tenu de ces règles, on ne peut compter seuleme...
Cette fonction reçoit en paramètre un chiffre romain et retourne le chiffre arabe correspondant.
Exemple d'utilisation
SELECT RomanToArabic('MMCDLI');
Nous obtenons en sortie
2451
Voici une fonction utilisateur équivalente à la fonction url_decode de PHP
Exemple d'utilisation
SELECT url_encode('http%3A%2F%2Fwww.google.fr%2Fsearch%3Fsource%3Dig%26q%3Ddu%2Btexte');
Nous obtenons en sortie
http://www.google.fr/search?source=ig&q=du+texte
Voici une fonction utilisateur équivalente à la fonction url_decode de PHP
Exemple d'utilisation
SELECT url_encode('http%3A%2F%2Fwww.google.fr%2Fsearch%3Fsource%3Dig%26q%3Ddu%2Btexte');
Nous obtenons en sortie
http://www.google.fr/search?source=ig&q=du+texte
Voici une fonction utilisateur équivalente à la fonction url_encode de PHP
Exemple d'utilisation
SELECT url_encode('http://www.google.fr/search?source=ig&q=du+texte');
Nous obtenons en sortie
http%3A%2F%2Fwww.google.fr%2Fsearch%3Fsource%3Dig%26q%3Ddu%2Btexte
Cette fonction prend en paramètre deux valeurs de type DATE et retourne le nombre d'années entre ces deux valeurs.
Il est possible de passer des valeurs de type TIMESTAMP et l'ordre n'est pas important.
Attention, cette fonction réutilise la fonction months_between, il est donc nécessaire d'avoir créé cette dernière, faute de quoi une erreur sera retournée. Si vous préférez créer seulement years_b...
Cette fonction prend en paramètre deux valeurs de type TIMESTAMP et retourne le nombre d'heures entre ces deux valeurs.
Il est possible de passer des valeurs de type DATE et l'ordre n'est pas important.
Attention, cette fonction réutilise la fonction minutes_between, il est donc nécessaire d'avoir créé cette dernière sans quoi une erreur sera retournée. Si vous préférez créer seulement hours_betwe...
Cette fonction ne dépend pas de minutes_between.
Exemple d'utilisation
SELECT hours_between('2008-11-06 02:10:13', '2008-11-08 05:11:15');
Nous obtenons en sortie
51
Cette fonction prend en paramètre deux valeurs de type DATE et retourne le nombre de jours entre ces deux valeurs.
Il est possible de passer des valeurs de type TIMESTAMP et l'ordre n'est pas important.
Exemple d'utilisation
SELECT days_between('2008-9-06', '2008-11-08');
Nous obtenons en sortie
63
Un peu d'explications
Ici nous voulons calculer le nombre de jours entre le 6 septembre 20...
Cette fonction prend en paramètre deux valeurs de type TIMESTAMP et retourne le nombre de minutes entre ces deux valeurs.
Il est possible de passer des valeurs de type DATE et l'ordre n'est pas important.
Attention, cette fonction réutilise la fonction seconds_between, il est donc nécessaire d'avoir créé cette dernière, sans quoi une erreur sera retournée. Si vous préférez créer seulement minutes_...
Cette fonction ne dépend pas de seconds_between.
Exemple d'utilisation
SELECT minutes_between('2008-11-06 02:10:13', '2008-11-07 02:11:15');
Nous obtenons en sortie
1441
Cette fonction prend en paramètre deux valeurs de type DATE et retourne le nombre de mois entre ces deux valeurs.
Il est possible de passer des valeurs de type TIMESTAMP et l'ordre n'est pas important.
L'écriture de cette fonction a été fortement inspirée par celle de Nathan Bunker.
Exemple d'utilisation
SELECT months_between('2008-11-08', '2009-2-06');
Nous obtenons en sortie
2
Un peu d'...
Cette fonction prend en paramètre deux valeurs de type TIMESTAMP et retourne le nombre de secondes entre ces deux valeurs.
Il est possible de passer des valeurs de type DATE et l'ordre n'est pas important.
Exemple d'utilisation
SELECT seconds_between('2008-11-06 02:10:13', '2008-11-07 02:11:15');
Nous obtenons en sortie
86462
Un peu d'explications
Ici nous avons un écart d'un jour, une ...
Le but de cette fonction est de convertir tous les caractères accentués vers leurs équivalents (non accentués) et de remplacer les espaces par des tirets.
Exemple d'utilisation
SELECT translate('très accentués', 'éèê', 'eee');
Nous obtenons en sortie
+---------------------------------------------+
| translate('très accentués', 'éèê', 'eee') |
+-------------------------------------------...
Comment peut-on évaluer l'efficacité d'un index ?
Un index est efficace si il est placé sur une colonne possédant peu de doublons (NULLs compris). En effet le SGBD indexe les valeurs, ce qui implique que la présence de doublons réduit le nombre d'index.
Autrement dit, un index est performant si la différence entre le nombre de tuples total et le nombre de valeurs distinctes tend vers 0.
Nous cher...
MySQL n'a pas de fonction pour agréger par produit. Toutefois, il est possible de le faire avec les fonctions EXP et LN.
Si, par exemple, vous avez la table suivante
CREATE TABLE Exemple (
forme varchar(20),
dimension varchar(10),
facteur float NOT NULL
) ;
Et le jeu de données suivant
INSERT INTO Exemple VALUES('parallélépipède', 'largeur', 10);
INSERT INTO Exemple VALUES('parallélépi...
Voici une fonction utilisateur équivalente à la fonction REPLACE mais insensible à la casse
Exemple d'utilisation
SELECT replace_ci('mySQL', 'M', 'M');
Nous obtenons en sortie
MySQL
MySQL autorise les jointures externes à gauche (LEFT [OUTER] JOIN) et à droite (RIGHT [OUTER] JOIN), mais pas la jointure externe totale. Cette jointure ramène toutes les valeurs des tables jointes, complétant les colonnes de l'une par NULL quand il n'y a pas de correspondance avec l'autre table.
Supposons que nous ayons les deux tables suivantes
CREATE TABLE tableA (
id INT(10) UNSIGNED NOT N...