Afficher la structure complète d'une base de donnée

valeriektv - 9 août 2013 à 16:09
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 12 août 2013 à 11:23
Bonjour,
voila je suis débutante dans la programmation java, j'aimerai faire un code qui me permet de me connecter a n'importe quel SGBD et de recréer exactement la BD à laquelle je me suis connecté et de créer une autre BD mysql avec les mêmes tables et données.Dans un premier temps j'ai pu afficher les tables et colonnes de ma BD mais seulement je ne sais pas comment recupérer les attributs de chaque table et colonne pour recréer ma BD en java .
S'il vous plait si quelqu'un a déja fait une chose pareille ou s'il a de bon liens qu'il puisse m'aider

2 réponses

cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
12 août 2013 à 10:41
Salut,

Si je comprends bien, tu veux cloner une base de données... J'avoue ne jamais avoir réfléchi à l'affaire, mais tu peux voir avec les métadata.... cela te donne pour une colonne l'information sur le type de donnée contenue dans cette colonne... maintenant j'ignore s'il est possible d'avoir l'information exacte.... je veux dire que pour une colonne titre par exemple il va te dire que c'est un String, mais pas que c'est une varchar de 50 par exemple....
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
Modifié par Twinuts le 12/08/2013 à 11:24
Salut,

Je ne sais pas si c'est compatible avec mysql mais sous sqlite3 tu peux utiliser: ".schema" ou "PRAGMA table_info (nom_de_la_table);" qui permettent également de connaitre la taille d'un varchar(xxx) (perso j'utiliserai plus le pragma).

je n'ai que sqlite3 à dispo dsl:
la commande:
$ sqlite3 plop.db
sqlite>.schema

Retourne la chaîne:
CREATE TABLE plop_table(id integer primary key autoincrement, title varchar(24), bigdata blob);

la commande:
$ sqlite3 plop.db
sqlite>PRAGMA table_info (plop_table);

retourne la chaîne:
0|id|integer|0||1
1|title|varchar(24)|0||0
2|bigdata|blob|0||0


Dev addict
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
0
Rejoignez-nous