Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie drucke ich alle Felder für alle Tabellen in der MySQL-Datenbank?

Um alle Tabellen einer bestimmten Datenbank (wie mydb ), tun Sie dies:

USE mydb
SHOW TABLES;

Um alle Felder, Indizes, Speicher-Engine, Tabellenoptionen, Partitionslayout in mydb.mytable zu sehen , tun Sie dies:

USE mydb
SHOW CREATE TABLE tblname\G

Hier ist ein Skript, um alle Tabellen in allen Datenbanken in großen Mengen anzuzeigen:

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

Wenn Sie eine bestimmte Datenbank (wie mydb ), tun Sie dies:

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

Dies sollte der schnellste Weg sein, da der Zugriff auf die information_schema-Datenbank etwas langsam sein kann, wenn es viele ausgelastete InnoDB-Tabellen gibt.

Probieren Sie es aus !!!