Im Moment habe ich in der Lage gewesen, mit diesem zu kommen:Abfrage num_rows, Größe, num_tables, default_charset, default_collation für alle Datenbanken
SELECT
table_schema AS 'name_db',
sum(table_rows) AS 'num_rows_db',
SUM(data_length + index_length)/1024/1024 AS 'size_db(MB)',
count(*) as 'num_tables_db'
FROM
information_schema.TABLES
GROUP BY table_schema;
Und nun, um herauszufinden, ich versuche, wie die charset hinzufügen und Kollation für alle Datenbanken, aber ich bin mir nicht sicher, wie es geht.
Ich habe herausgefunden, information_schema.SCHEMATA Tabelle hat DEFAULT_CHARACTER_SET_NAME
und DEFAULT_COLLATION_NAME
Spalten und ich möchte diese zu meiner obigen Abfrage hinzufügen. Außerdem würde ich gerne wissen, ob es eine einfache Möglichkeit gibt, die db-Größe abhängig von der Größe in Kb oder MB anzuzeigen (zB: wie die HeidiSQL-Zusammenfassung).
Raten müssen ich die Verbindung zwischen diesen zwei Tabellen, eine Art machen mit SCHEMA_NAME
aber der Gruppe von meiner ersten Abfrage verwirrt mich:/
Der Zeichensatz und die Sortierung einer Datenbank steuert die Einstellungen für die Tabelle außer _by default_ nicht. Dito für Tabelleneinstellungen versus Spalteneinstellungen. Also, ich frage die Nützlichkeit von dem, was Sie gefragt haben. Ein anderer Ansatz ist es, zu tun ... GROUP_CONCAT (DISTINCT character_set) ... VON COLUMNS ... 'Dies würde zeigen alle Zeichensatz _ aktuell in use_ für jede Datenbank. Bitte klären Sie, ob Sie den Standard wirklich wollen oder was gerade verwendet wird. (Ja, ein "JOIN" wird wahrscheinlich benötigt.) –
@RickJames Eigentlich ist das ein guter Punkt, was ich eigentlich hier erreichen möchte, ist die maximale relevante Information aller Datenbanken meiner Server zu zeigen - ~ 20db pro Box passend in wenig Platz (1 oder 2 cmd fordert Seiten, so dass ich alle Informationen auf einmal sehen kann). Was Sie vorschlagen, alle Zeichensätze zu zeigen, die derzeit für jede Datenbank verwendet werden, klingt nach einer noch besseren Idee, wäre es zu schwierig, meine Abfrage hinzuzufügen? Wie Sie sehen können, sind meine SQL-Fähigkeiten ziemlich rostige, müssen sie schließlich einholen: D – BPL