Codes sources MySQL

Retrouvez ici tous les meilleurs téléchargements Codes sources MySQL
Ajouter un nouvel élément

    Quel est l'équivalent de la fonction SUM pour un produit ?

    Licence : Non renseignée - 13/02/2011 - Téléchargé x
    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épipède', 'longueur', 30);
    INSERT INTO Exemple VALUES('parallélépipède', 'hauteur', 15);
    INSERT INTO Exemple VALUES('pyramide', 'base', 20);
    INSERT INTO Exemple VALUES('pyramide', 'hauteur', 30);
    INSERT INTO Exemple VALUES('pyramide', 'constante', 1/3);


    ... Voir la suite

    Nombre de minutes entre deux TIMESTAMP (indépendante)

    Licence : Non renseignée - 09/02/2011 - Téléchargé x
    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

    Obtenir les n premiers éléments de chaque catégorie

    Licence : Non renseignée - 13/02/2011 - Téléchargé x
    Supposons qu'une table ELEMENT et une table CATEGORIE sont composées comme suit :

    CREATE TABLE `ma_base`.`CATEGORIE` (
    `id_categorie` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
    `nom_categorie` VARCHAR(45) NOT NULL,
    PRIMARY KEY (`id_categorie`)
    )
    ENGINE = InnoDB;

    CREATE TABLE `ma_base`.`ELEMENT` (
    `id_element` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
    `nom_element` VARCHAR(45) NOT NULL,
    `id_categorie` INTEGER UNSIGNED NOT NULL,
    PRIMARY KEY (`id_element`),
    CONSTRAINT `FK_ELT_CAT` FOREIGN KEY `FK_ELT_CAT` (`id_categorie`)
    REFERENCES `categorie` (`id_categorie`)
    ON DELETE CASCADE
    ON UPDATE CASCADE
    )
    ENGINE = InnoDB;


    Voir la suite

    Fonction qui décode les URLs #2

    Licence : Non renseignée - 09/02/2011 - Téléchargé x
    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

    Nombre d'heures entre deux TIMESTAMP (dépendante de minutes_between)

    Licence : Non renseignée - 09/02/2011 - Téléchargé x
    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_between, une version équivalente est disponible.

    Exemple d'utilisation
    SELECT hours_between('2008-11-06 02:10:13', '2008-11-08 05:11:15');

    Nous obtenons en sortie
    51

    Un peu d'explications

    Ici nous avons un écart de deux jours, trois heures, une minute et deux secondes.
    Deux jour ... Voir la suite

    Simuler le comportement d'un FULL OUTER JOIN

    Licence : Non renseignée - 13/02/2011 - Téléchargé x
    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 NULL AUTO_INCREMENT,
    nom varchar(45) NOT NULL,
    PRIMARY KEY (id)
    );

    CREATE TABLE tableB (
    id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    nom varchar(45) NOT NULL,
    PRIMARY KEY (id)
    );


    Et le jeu de données suivant

    INSERT INTO tableA (nom)
    VA ... Voir la suite

    Replace() insensible à la casse

    Éditeur : Gary Pendergast +
    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

    Nombre d'heures entre deux TIMESTAMP (indépendante)

    Licence : Non renseignée - 09/02/2011 - Téléchargé x
    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

31 éléments