Pour voir toutes les tables d'une base de données spécifique (comme mydb
), faites ceci :
USE mydb
SHOW TABLES;
Pour voir tous les champs, index, moteur de stockage, options de table, disposition des partitions dans mydb.mytable
, faites ceci :
USE mydb
SHOW CREATE TABLE tblname\G
Pour voir toutes les tables de toutes les bases de données en masse, voici un script :
MYSQL_USER=root
MYSQL_PASS=rootpassword
MYSQL_CONN="-u${MYSQL} -p${MYSQL_PASS}"
MYSQLDUMP_OPTIONS="--routines --triggers --no-data --all-databases"
mysqldump ${MYSQL_CONN} ${MYSQLDUMP_OPTIONS} > MySQLSchema.sql
less MySQLSchema.sql
Si vous voulez voir une base de données spécifique (comme mydb
), faites ceci :
MYSQL_USER=root
MYSQL_PASS=rootpassword
MYSQL_CONN="-u${MYSQL} -p${MYSQL_PASS}"
DBTOSHOW=mydb
MYSQLDUMP_OPTIONS="--routines --triggers --no-data --databases ${DBTOSHOW}"
mysqldump ${MYSQL_CONN} ${MYSQLDUMP_OPTIONS} > MySQLSchema.sql
less MySQLSchema.sql
Cela devrait être le moyen le plus rapide car l'accès à la base de données information_schema peut être quelque peu lent s'il y a beaucoup de tables InnoDB occupées.
Essayez-le !!!