Renomer une base de donnée

Fermé
mking03 Messages postés 114 Date d'inscription dimanche 13 juillet 2008 Statut Membre Dernière intervention 6 février 2017 - 26 déc. 2008 à 15:49
mking03 Messages postés 114 Date d'inscription dimanche 13 juillet 2008 Statut Membre Dernière intervention 6 février 2017 - 26 déc. 2008 à 17:14
Bonjour,
comment rennomer une base de donnée mysql/php sans la console
merci

2 réponses

scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
26 déc. 2008 à 16:26
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
mking03 Messages postés 114 Date d'inscription dimanche 13 juillet 2008 Statut Membre Dernière intervention 6 février 2017 37
26 déc. 2008 à 17:14
merci
0