IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Outils MySQL Discussion :

Outil pour tester des requêtes "bidons"


Sujet :

Outils MySQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 23
    Points : 19
    Points
    19
    Par défaut Outil pour tester des requêtes "bidons"
    Bonjour,

    Je cherche un outil (de préférence un outil en ligne) qui me permettrait de faire des requêtes "bidons" (type "select bar.foo from bar;"). J'aime trainer sur les forums d'entraide ou aider des amis qui sont en stage dans d'autres entreprises, et j'ai souvent des idées de requêtes SQL pour résoudre le problème posé, mais aucun moyen de vérifier si ma logique est bonne (si ce n'est à la main).

    Je me dis que c'est un peu laborieux de créer des tables juste pour le test et j'ai pas forcément l'environnement en question pour y créer les tables et tester la syntaxe(Je travaille sur Oracle, et j'ai pas forcément moyen de tester sous MySQL). Par exemple, quand quelqu'un pose une question de requête SQL sur developpez.net, comment faites vous pour vous immerger rapidement dans son problème (ses tables, tester si l'embryon de requête réalisé par la personne marche ou pas, formaliser votre propre réponse à la question posée) ?

    Je sais pas si ma demande est très claire mais je vous remercie d'avance pour l'aide apportée

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 555
    Points
    38 555
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Si la question concerne le langage SQL stricto-sensu, la plupart des requêtes sont transportables entres les différents SGBD modernes

    Mais il est vrai que MySQL est pas mal à la traine, et nécessite parfois des solutions à l'ancienne, faute d'avoir implémenté les CTE ou les fonctions OLAP par exemple.

    Il y a aussi les fonctions de manipulation de dates qui sont relativement propriétaires.

    Pour le reste une requête validée sur Oracle, reste le plus souvent valide sur MySQL (sauf si vous codez encore les jointures outer à l'ancienne sauce Oracle ) et quoi qu'il en soit, le demandeur peut aussi faire les quelques adaptations à la marge pour adapter votre requête type à son cas particulier

    La création des structures tables et index va assez vite, soit vous partez d'un script "type" que vous adaptez au cas par cas, soit vous utilisez un logiciel de modélisation qui génère le DDL de base et qu'il reste à adapter. C'est parfois le chargement du jeu de données qui est un peu plus long

  3. #3
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 378
    Points : 19 055
    Points
    19 055
    Par défaut
    Salut Exomus.

    Citation Envoyé par Exomus
    Je cherche un outil (de préférence un outil en ligne) qui me permettrait de faire des requêtes "bidons"
    Je ne pense pas que cela existe, tel que vous l'entendez, encore que je ne sais pas trop ce que vous entendez par "requêtes bidons" ?

    Pour créer un script MySql, il faut commencer par définir la base, les tables, le jeu d'essai représentatif et la ou les requêtes à tester.
    Et le mieux est de le faire à la main car cela va correspondre à ce que vous désirez faire.

    Citation Envoyé par Exomus
    j'ai pas forcément l'environnement en question pour y créer les tables et tester la syntaxe
    Mais si !

    Mon environnement est constitué de WampServer, comprenant Apache, Php, MySql et Phpmyadmin.
    Pour les tests, j'ai créé un ensemble de répertoires par thèmes, afin de faire du rangement.
    Un répertoire est constitué d'un script batch qui lance un script MySql.
    Si cela est nécessaire, on peut y mettre aussi un jeu d'essai sous la forme d'un fichier Excel.

    Voici le script batch :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    @echo off
     
    setlocal enableDelayedExpansion
     
    chcp 1252 > nul
     
    set PATH=F:\Wamp\bin\mysql\mysql5.7.18\bin\;%PATH%
     
    SET FIC=%~nx0
    SET FIC=%FIC:bat=sql%
     
    @echo.
    mysql < %FIC%  --verbose  --force
    @echo.
    pause
    exit
    Il faudra remplacer la variable d'environnement "PATH" par le votre pour pointer sur votre serveur MySql.

    Et voici un exemple de script MySql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    SET AUTOCOMMIT = 0;
    START TRANSACTION;
     
    -- ======================
    -- Base de Données `base`
    -- ======================
     
    DROP DATABASE IF EXISTS `base`;
     
    CREATE DATABASE `base`
    	DEFAULT CHARACTER SET `latin1`
    	DEFAULT COLLATE       `latin1_general_ci`;
     
    use `base`;
     
    -- =====================
    -- Création table `test`
    -- =====================
     
    DROP TABLE IF EXISTS `test`;
     
    CREATE TABLE `test`
    ( `id`        integer unsigned  not null auto_increment primary key,
      `periode`   datetime          not null
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_ci`
      ROW_FORMAT=COMPRESSED;
     
    -- =====================
    -- Insertion dans `test`
    -- =====================
     
    insert into `test` (`periode`)  values
      ('2017-07-02 23:59:59'),
      ('2017-07-03 00:00:00'),
      ('2017-07-03 04:59:59'),
      ('2017-07-03 05:00:00');
     
    -- ================
    -- Vidage de `test`
    -- ================
     
    select * from `test`;
     
    -- ===========
    -- Requête N°1
    -- ===========
     
    select periode,
           week(periode,3) as semaine
    from   test;
     
    select periode - interval 5 hour         as periode,
           week(periode - interval 5 hour,3) as semaine
    from   test;
     
    -- ===
    -- Fin
    -- ===
     
    COMMIT;
    SET AUTOCOMMIT = 1;
    exit
    Citation Envoyé par Exomus
    Par exemple, quand quelqu'un pose une question de requête SQL sur developpez.net, comment faites vous pour vous immerger rapidement dans son problème (ses tables, tester si l'embryon de requête réalisé par la personne marche ou pas, formaliser votre propre réponse à la question posée) ?
    Au départ, il y a déjà une connaissance du SGBDR MySql.
    Ensuite, il faut comprendre la demande faite car fréquemment, ce n'est pas toujours très clair, dans la formulation du problème.
    Puis ensuite, je reproduis la base, les tables et je crée un jeu d'essai représentatif du problème posé.
    C'est un ersatz de la réalité car recréer 10 millions de lignes, juste pour tester la performance, n'est pas ce que je recherche au premier abord.
    C'est juste une aide pour que l'internaute puisse comprendre ce qu'il faut faire.

    Sinon la méthode, c'est à l'huile de coude !

    Comme je conserve les exercices les plus intéressant, quand je retombe sur un similaire, je le reprends et je l'adapte.

    J'ai quatre environnements pour les bases de données :
    --> mysql
    --> firebird
    --> microsoft SQL Server.
    --> mariadb

    J'utilise surtout les deux premiers.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  4. #4
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    Citation Envoyé par Exomus Voir le message
    Bonjour,
    Je cherche un outil (de préférence un outil en ligne) qui me permettrait de faire des requêtes "bidons" (type "select bar.foo from bar;")...
    Je vous propose sqlfiddle
    @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Bonjour,

    Je vous remercie pour toutes vos réponses, j'ai trouvé les réponses que je cherchais. Vous avez tous été très complets sur vos explications.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/12/2016, 16h31
  2. [SOAP Proxy] outil pour tester le contenu XML des message SOAP
    Par evan.caballero dans le forum Services Web
    Réponses: 3
    Dernier message: 26/01/2010, 20h57
  3. des outils pour tester la configuration de mon boitier
    Par une_tite_question dans le forum Sécurité
    Réponses: 4
    Dernier message: 14/08/2008, 16h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo