Exibe todas as tabelas. Funcionalidade semelhante à descrição

Como posso exibir todas as tabelas em um banco de dados semelhante à saída, comoDESCRIBE myTable. Adicionando funcionalidade para:

Todas as mesas de uma só vezTamanho da tabelaInformações sobre conjunto de caracteres e agrupamentoClassificar recursos

Nota:DESCRIBE a saída é simples e para uma única tabela de cada vez.

Editar:

Bom feedback de Rick James. Eu estava perdida e precisava desse brainstorm.

Se alguém quiser adicionar funcionalidade (à minha resposta automática), como uma linha recuada na parte inferior de cada tabela para

Índices (talvez uma linha por índice mostrando o nome e os nomes das colunas separados por vírgulaCardinalidade nessa linha de índice acimaRestrições de chave estrangeiraQualquer outra coisa em armas que atinja seus colegas pode ser útilTenha esse bloco inteiro chamado "Informações Estendidas" conceitualmente e um switch (um parâmetro) para Yay ou Nay para produzi-lo. Se 'N', então não produza.

Eu ficaria muito satisfeito. Naturalmente, essa informação não ficaria suspensa nos cabeçalhos das colunas já mostrados na resposta automática abaixo por mim. Então, um visual como um recuo é o que imediatamente vem à mente, não tendo exatamente parte da tabela. A produção aproximada é boa.

Considere o seguinte como notas aproximadas que podem ser úteis:

create schema x99;
use x99;

create table parent
(   -- assume your have only one parent, ok bad example, it's early
    id int auto_increment primary key,
    fullName varchar(100) not null
)ENGINE=InnoDB;

-- drop table child;
create table child
(   id int auto_increment primary key,
    fullName varchar(100) not null,
    myParent int not null,
    CONSTRAINT `mommy_daddy` FOREIGN KEY (myParent) REFERENCES parent(id)
        ON DELETE CASCADE ON UPDATE CASCADE     
)ENGINE=InnoDB;

create table t3
(   id INT AUTO_INCREMENT PRIMARY KEY,
    myD DATE NOT NULL,
    myI INT NOT NULL,
    KEY `t3_001` (myD,myI)
);

create table t4
(   someCode CHAR(4) PRIMARY KEY,
    codeDescr VARCHAR(500) NOT NULL
);

create table t5
(   id INT AUTO_INCREMENT PRIMARY KEY,
    theCode CHAR(4) NOT NULL,
    d1 DATE NOT NULL,
    i1 INT NOT NULL,
    someOther DATETIME NOT NULL,
    FOREIGN KEY `cd_2_t4` (theCode) REFERENCES t4(someCode),
    FOREIGN KEY `cd_2_t3` (d1,i1) REFERENCES t3(myD,myI)
);

-- The below 2 lines are merely to show cardinality which I am sure is
-- read from INFO SCHEMA too
show indexes in child; -- to pick up cardinality (or from INFO SCHEMA)
show indexes in t5; -- ditto
-- So, I am not suggesting to actually call "show indexes"


-- http://dev.mysql.com/doc/refman/5.7/en/key-column-usage-table.html
-- James Goatcher
SELECT CONCAT( table_name, '.', 
column_name, ' -> ', 
referenced_table_name, '.', 
referenced_column_name ) AS list_of_fks 
FROM information_schema.KEY_COLUMN_USAGE 
WHERE REFERENCED_TABLE_SCHEMA = 'x99' 
AND REFERENCED_TABLE_NAME is not null 
ORDER BY TABLE_NAME, COLUMN_NAME; 
+-----------------------------+
| list_of_fks                 |
+-----------------------------+
| child.myParent -> parent.id |
| t5.d1 -> t3.myD             |
| t5.i1 -> t3.myI             |
| t5.theCode -> t4.someCode   |
+-----------------------------+

Despite the output suggested by James Goatcher on that Webpage, 
perhaps what would look better under table t5 as 2 lines:

t5.d1,i1 -> t3.myD,myI              <----- That there would be swell
t5.theCode -> t4.someCode

-- You may make the assumption that all tables are in the same schema
-- If they aren't and it blows up that is fine

drop schema x99;

Eu gostaria de premiar essa recompensa.

questionAnswers(1)

yourAnswerToTheQuestion