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 ^^