J'utilise une base de données MySql avec un programme Java, maintenant je veux le donner à quelqu'un d'autre.
Comment exporter la structure de la base de données MySql sans les données qu'il contient, uniquement la structure?
Vous pouvez faire avec l'option --no-data
avec la commande mysqldump
mysqldump -u root -p --no-data dbname > schema.sql
Oui, vous pouvez utiliser mysqldump
avec l'option --no-data
:
mysqldump -u user -h localhost --no-data -p database > database.sql
vous pouvez également extraire une table individuelle avec l'option --no-data
mysqldump -u user -h localhost --no-data -p database tablename > table.sql
Dumping sans utiliser la sortie.
mysqldump --no-data <database name> --result-file=schema.sql
Vous pouvez utiliser l'option -d avec la commande mysqldump
mysqldump -u root -p -d databasename > database.sql
Vous pouvez utiliser MYSQL Administrator Tool gratuitement http://dev.mysql.com/downloads/gui-tools/5.0.html
vous trouverez de nombreuses options pour exporter votre base de données MYSQL
Attention, l'option --no-data n'inclut pas la définition de la vue. Donc, si vous aviez une vue semblable à la suivante créer vue v1, sélectionnez a
.id
AS id
, a
.created_date
AS created_date
à partir de t1; avec l'option --no-data, la définition de la vue sera remplacée par la vue suivante créer vue v1 sélectionner 1 AS id
, 1 AS created_date
Si vous utilisez IntelliJ, vous pouvez activer la vue Base de données (Affichage -> Fenêtre Outils -> Base de données).
Dans cette vue, connectez-vous à votre base de données. Ensuite, vous pouvez cliquer avec le bouton droit de la souris sur la base de données et sélectionner "Copier DDL". D'autres IDE peuvent offrir une fonction similaire.
Pour obtenir le script de création d'une table individuelle:
- sélectionne tout le tableau (avec la touche shift)
- faites un clic droit sur le nom de la table, puis cliquez sur Copier dans le presse-papiers> Créer une déclaration.
Si vous souhaitez vider toutes les tables de toutes les bases de données sans données (uniquement les structures de bases de données et de tables), vous pouvez utiliser:
mysqldump -P port -h hostname_or_ip -u username -p --no-data --all-databases > db_backup.sql
Cela produira un fichier .sql que vous pourrez charger sur un serveur mysql pour créer une nouvelle base de données. Les cas d'utilisation de ce type ne sont pas nombreux dans un environnement de production, mais je le fais toutes les semaines pour réinitialiser les serveurs liés aux sites Web de démonstration. )