it-swarm.com.de

Wie werden die Spaltennamen einer Tabelle angezeigt?

Der Fall ist einfach: Sie haben eine MySQL-Datenbank, in der Sie nur eine SQL-Abfrageschnittstelle haben, und Sie möchten die Datenbankstruktur mit Abfragen kennen. Sie können Tabellen mit show tables; Befehl, aber wie sehen Sie die einzelnen Spaltennamen?

(SELECT Anweisung zeigt Empty set wenn keine Daten vorhanden sind und somit NICHT verwendet werden können.)

17
mico

Die beste Lösung, die ich selbst herausgefunden habe, war die desc table_name Befehl. Weitere Informationen finden Sie unter MySQL-Tabellen auflisten. Dieser Befehl enthält die Beschreibung einer Datenbanktabelle, genau das, was ich herausfinden wollte.

6
mico
select column_name from information_schema.columns where table_name='table'
37
msi77

Um sicherzustellen, dass Sie Spalten in einer Tabelle in der aktuellen Datenbank auflisten, verwenden Sie die Funktion DATABASE () oder SCHEMA () . Es gibt NULL zurück, wenn Sie sich nicht in einer aktuellen Datenbank befinden. Diese Abfrage zeigt die Spalten in einer Tabelle in der Reihenfolge an, in der die Spalten definiert wurden:

SELECT column_name,column_type
FROM information_schema.columns
WHERE table_schema = DATABASE()
AND table_name='table'
ORDER BY ordinal_position;
6
RolandoMySQLDBA

Ich bin nicht sicher, ob ich verstehe, was Sie mit Tabellentiteln meinen, aber Sie können die meisten Informationen über Tabellen und ihre Spalten aus INFORMATION_SCHEMA

wie sehen Sie die einzelnen Tabellentitel?

Meinst du Tabellenkommentare ?

use stack;
create table t(v integer primary key) comment 'My Special Table';

show tables;
+-----------------+
| Tables_in_stack |
+-----------------+
| t               |
+-----------------+

select table_name, table_comment from information_schema.tables where table_name='t';
+------------+------------------+
| table_name | table_comment    |
+------------+------------------+
| t          | My Special Table |
+------------+------------------+
SHOW COLUMNS FROM mydb.mytable;

dabei ist mydb - die Datenbank, die die benötigte Tabelle enthält

mytable - ist die benötigte Tabelle

Es gibt Informationen zu Spalten zurück (z. B. Namen von Spalten, Typ usw.).

2
Rolya Chuma

Sie müssen information_schema.tables Und information_schema.columns Zusammenfügen, um die Liste der Tabellen und die Details ihrer Spalten zu erhalten.

information_schema.columns Zeigt nicht nur Details zu Tabellen, sondern auch Ansichten. Es gibt keine Möglichkeit, nur Tabellendetails aus dieser Systemansicht zu filtern.

Daher müssen Sie beitreten.

Beispielabfrage:

select t.TABLE_SCHEMA, t.TABLE_NAME, c.COLUMN_NAME, c.COLUMN_TYPE, c.DATA_TYPE
from information_schema.tables t , information_schema.columns c where 2=2 
and t.table_schema=c.table_schema
and t.table_name=c.table_name
and t.table_type ='BASE TABLE' 
order by t.table_schema, t.table_name, c.column_name 
;
0
Sundar Kannan