Mysql
 sql >> Database >  >> RDS >> Mysql

Come posso stampare tutti i campi per tutte le tabelle nel database mysql?

Per vedere tutte le tabelle di un database specifico (come mydb ), procedere come segue:

USE mydb
SHOW TABLES;

Per vedere tutti i campi, gli indici, il motore di archiviazione, le opzioni della tabella, il layout delle partizioni in mydb.mytable , fai questo:

USE mydb
SHOW CREATE TABLE tblname\G

Per vedere tutte le tabelle in tutti i database in blocco, ecco uno 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

Se vuoi vedere un database specifico (come mydb ), procedere come segue:

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

Questo dovrebbe essere il modo più rapido perché l'accesso al database information_schema può essere alquanto lento se ci sono molte tabelle InnoDB occupate.

Provalo!!!