| Retour au sommaire |
MySQL - Index et astuces


[Configuration] [Commandes utiles] [Liens utiles]


Configuration et lancement :

  • les outils se trouvent généralement dans c:\mysql\bin
  • si le service mySql n'existe pas (sous NT) exécuter la commande
               c:\mysql\bin\mysqld-shareware.exe --install (ou mysqld.exe)
  • démarrer ensuite le service NT MySQL depuis le Control Panel -> Services
  • sous Win95, démarrer mysqld-shareware.exe depuis une console MsDos
  • pour entrer dans le serveur de base de données (depuis Command Prompt MsDOS)
        
        c:

            cd \mysql\bin
            mysql                                      // Le prompt mysql> s'affiche
            
    mysql < batch-file > mysql.out     // lancement en batch
            
     syntaxe du fichier batch : # pour les commentaires, instruction QUIT inutile en fin de fichier


    Commandes utiles (sous mysql) :

  • Remarques
        
        doskey est normalement activé (historique des commandes par les flèches)
        
        ; est attendu en fin de commande pour celles qui peuvent s'étendre sur plus d'une ligne
        
        0 signifie false (ex. 1 is null) et 1 signifie true (ex. 1 is not null)
  • Fonctions diverses
        
        SELECT VERSION(), CURRENT_DATE, NOW(), USER();
            SELECT SIN(PI()/4);

          
      SHOW DATABASES; // liste les bases
            USE test;              // changer de base listée avant
            SHOW tables;        // lister les tables de la base courante
            DESC[ribe] nom_de_table;
          
      
        
        // charger une table - 'pet.txt' contenant un enregistrement par ligne, tab-delimited, \N pour les valeurs null
            LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;

            SELECT * FROM pet WHERE birth >= "1989-07-30";
            INSERT INTO pet VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
            UPDATE pet SET birth = "1989-08-31" WHERE name = "Bowser";
            DELETE FROM pet;

            Clause FROM :
            FROM tbl1, tbl2 WHERE tbl1.c = tbl2.c (syntaxe d'un INNER JOIN sur le champ 'c')
            FROM tbl1 LEFT JOIN tbl2 ON
    tbl1.c = tbl2.c (pour obtenir les données de tbl1 même si le lien pointe sur null dans tbl2).

     
           Clause WHERE :
            LIKE "____"; LIKE "%w%";
            RLIKE and NOT RLIKE (regexp) (ex. SELECT * FROM pet WHERE name REGEXP "fy$"; se terminant par fy,
                  "^[bB]" commençant par 'b' ou 'B', "^.....$" ou "^.{5}$" de cinq caractères exactement)

            TO_DAYS() // ex. SELECT (TO_DAYS(NOW())-TO_DAYS(birth))/365 FROM tbl; // age actuel
            CONCAT()

            QUIT
              
  • Création d'une table de test
          
      CREATE TABLE tbl1 (nom VARCHAR(5), prenom VARCHAR(10), sexe CHAR(1), age INT);
          
      INSERT INTO tbl1 (prenom, sexe, age, nom) VALUES ('SEB', 'M', 15, 'NENNE');
            // attention ligne suivante 'nom' tronqué à 5 caractères
            INSERT INTO tbl1 (prenom, sexe, age, nom) VALUES ('SEB', 'M', 15, 'NENNES');
            INSERT INTO tbl1 (prenom, sexe, age, nom) VALUES ('SEB', 'M', 15, 'NOM1');
            SELECT * FROM tbl1;

  • Outils d'import/export
          
      mysqldump permet de créer un script de création des tables avec les données (export) ;
            mysqlimport permet d'importer des données depuis un fichier tab-delimited dans des tables.


    Liens utiles (ouvre une nouvelle fenêtre) :

  • site officiel de référence en anglais .


    [Configuration] [Commandes utiles] [Liens utiles]

    Date de modification : 17 mai 2000