Renomer une base de donnée

mking03 Messages postés 119 Statut Membre -  
mking03 Messages postés 119 Statut Membre -
Bonjour,
comment rennomer une base de donnée mysql/php sans la console
merci
Configuration: Windows XP
Firefox 2.0.0.20

2 réponses

  1. scriptiz Messages postés 1494 Statut Membre 425
     
    Bonjour, supponsons la base de donnée nommée "original", qui possède deux tables "table_1" et "table_2" dont voici la création :
    CREATE TABLE IF NOT EXISTS `table_1` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `valeur_1` int(11) NOT NULL,
      `valeur_2` int(11) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
    
    --
    -- Contenu de la table `table_1`
    --
    
    INSERT INTO `table_1` (`id`, `valeur_1`, `valeur_2`) VALUES
    (1, 34, 65),
    (2, 12, 43);
    
    -- --------------------------------------------------------
    
    --
    -- Structure de la table `table_2`
    --
    
    CREATE TABLE IF NOT EXISTS `table_2` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `valeur_3` int(11) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
    
    --
    -- Contenu de la table `table_2`
    --
    
    INSERT INTO `table_2` (`id`, `valeur_3`) VALUES
    (1, 4);


    Et bien pour la renommer par exemple en "nouveau" Voici les quelques petites commandes :P

    CREATE DATABASE `nouveau` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
    
    CREATE TABLE `nouveau`.`table_1` (
    `id` int( 11 ) NOT NULL AUTO_INCREMENT ,
    `valeur_1` int( 11 ) NOT NULL ,
    `valeur_2` int( 11 ) NOT NULL ,
    PRIMARY KEY ( `id` )
    ) ENGINE = MYISAM DEFAULT CHARSET = latin1;
    
    INSERT INTO `nouveau`.`table_1`
    SELECT *
    FROM `original`.`table_1` ;
    
    DROP TABLE `original`.`table_1` ;
    
    CREATE TABLE `nouveau`.`table_2` (
    `id` int( 11 ) NOT NULL AUTO_INCREMENT ,
    `valeur_3` int( 11 ) NOT NULL ,
    PRIMARY KEY ( `id` )
    ) ENGINE = MYISAM DEFAULT CHARSET = latin1;
    
    INSERT INTO `nouveau`.`table_2`
    SELECT *
    FROM `original`.`table_2` ;
    
    DROP TABLE `original`.`table_2` ;
    
    DROP DATABASE `original` ;


    En gros on crée la nouvelle base de donnée avec le nouveau nom, on y crée les deux tables, on recopie à chaque fois les valeurs de ces tables, et on fini par supprimer la base de donnée originale. Bel effet d'illusion hein ^^
    0
  2. mking03 Messages postés 119 Statut Membre 37
     
    merci
    0