In MySQL weiß ich, dass ich die Tabellen in einer Datenbank auflisten kann mit:
SHOW TABLES
Ich möchte diese Tabellennamen jedoch in eine andere Tabelle einfügen, zum Beispiel:
INSERT INTO metadata(table_name) SHOW TABLES /* does not work */
Gibt es eine Möglichkeit, die Tabellennamen mit einer Standard-SELECT-Anweisung abzurufen?
INSERT INTO metadata(table_name) SELECT name FROM table_names /* what should table_names be? */
Antworten:
Um den Namen aller Tabellen zu erhalten, verwenden Sie:
Um den Namen der Tabellen aus einer bestimmten Datenbank abzurufen, verwenden Sie:
Verwenden Sie nun diese Frage, um die ursprüngliche Frage zu beantworten:
Weitere Informationen finden Sie unter: http://dev.mysql.com/doc/refman/5.0/en/information-schema.html
quelle
Versuchen:
Siehe: http://dev.mysql.com/doc/refman/5.0/en/information-schema.html
quelle
sqlite_master
Wenn wir mehrere Datenbanken haben und alle Tabellen für eine bestimmte Datenbank auswählen müssen, können wir
TABLE_SCHEMA
den Datenbanknamen wie folgt definieren:select table_name from information_schema.tables where TABLE_SCHEMA='dbname';
quelle
Neben der Verwendung der Tabelle INFORMATION_SCHEMA verwenden Sie Folgendes, um SHOW TABLES zum Einfügen in eine Tabelle zu verwenden
quelle
Schauen Sie sich die Tabelle
TABLES
in der Datenbank aninformation_schema
. Es enthält Informationen zu den Tabellen in Ihren anderen Datenbanken. Wenn Sie jedoch Shared Hosting verwenden, haben Sie wahrscheinlich keinen Zugriff darauf.quelle
Ich denke, Sie können die gewünschten Daten von INFORMATION_SCHEMA TABLES erhalten.
Weitere Informationen finden Sie hier: http://dev.mysql.com/doc/refman/5.0/en/tables-table.html
quelle
quelle
Die MySQL-
INFORMATION_SCHEMA.TABLES
Tabelle enthält Daten sowohl zu Tabellen (nicht temporären, sondern permanenten) als auch zu Ansichten. Die SpalteTABLE_TYPE
definiert, ob dies ein Datensatz für eine Tabelle oder eine Ansicht ist (für TabellenTABLE_TYPE='BASE TABLE'
und für AnsichtenTABLE_TYPE='VIEW'
). Wenn Sie also nur aus Ihren Schema- (Datenbank-) Tabellen sehen möchten, gibt es die folgende Abfrage:quelle
Ich denke, es kann hilfreich sein, darauf hinzuweisen, dass Sie, wenn Sie Tabellen auswählen möchten, die bestimmte Wörter enthalten, dies einfach mit
SELECT
(anstelle vonSHOW
) tun können . Die folgende Abfrage schränkt die Suche leicht auf Tabellen ein, die "Schlüsselwort" enthalten.quelle
Es gibt noch einen einfacheren Weg, um Tabellennamen zu erhalten
quelle
Diese folgende Abfrage hat bei mir funktioniert. Dadurch können Datenbanken, Tabellen, Spaltennamen, Datentypen und Spaltenanzahl angezeigt werden.
quelle
Gehen Sie wie folgt vor, um einzufügen, zu aktualisieren und zu löschen:
quelle