Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment imprimer tous les champs de toutes les tables de la base de données mysql ?

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