Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como imprimo todos os campos de todas as tabelas no banco de dados mysql?


Para ver todas as tabelas de um banco de dados específico (como mydb ), fazem isto:
USE mydb
SHOW TABLES;

Para ver todos os campos, índices, mecanismo de armazenamento, opções de tabela, layout de partição em mydb.mytable , fazem isto:
USE mydb
SHOW CREATE TABLE tblname\G

Para ver todas as tabelas em todos os bancos de dados em massa, aqui está um 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 você quiser ver um banco de dados específico (como mydb ), fazem isto:
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

Esta deve ser a maneira mais rápida porque acessar o banco de dados information_schema pode ser um pouco lento se houver muitas tabelas InnoDB ocupadas.

De uma chance !!!