Forum: PC-Programmierung SQL Befehl


von klaus (Gast)


Lesenswert?

Hallo,

hab mal noch eine Frage zu den SQL-Befehlen. Ich suche einen Befehl um 
mir einen kurzen Überblick über alle Tabellen zu verschaffen (select * 
from cat ist mir zu wenig)
Der Abfrage sollte alle Tabellenköpfe liefern und wenns geht zusätzlich 
noch die Beziehungen und die Primary/ForeignKeys anzeigen.

Kennt sich da jemand besser aus?

von Uwe M. (lifthrasil)


Lesenswert?

Hi,

naja auf die schnelle fällt mir jetzt keine direkte Lösung ein aber 
über:

SHOW TABLES;

kannst du dir alle Tabellen anzeigen lassen und über:

SHOW COLUMNS FROM tbl; bzw. SHOW FULL COLUMNS FROM tbl;

kriegst du die Infos zu der Tabelle. Ansonsten einfach mal mehr zu SHOW 
u.ä. im Manual suchen! HTH

Uwe

von Alibi (Gast)


Lesenswert?

Wenn du nur einen Überblick über die DB bekommen möchtest (also nicht 
die Tabelleninformation dynamisch in deinem Programm brauchst), dann 
würde ich mir ein graphisches Tool besorgen. Davon gibts jede Menge, ich 
habe z.B mal "Toadnode" benutzt.

von Simon K. (simon) Benutzerseite


Lesenswert?

Worum gehts denn nu hier?
> Toadnode is a peer-to-peer (P2P) file-sharing application

Benutzt du MySQL?

von Uwe M. (lifthrasil)


Lesenswert?

... ich denke (hoffe) Alibi meinte wohl eher das hier: Toad for MySQL 
von http://www.toadsoft.com/ !?!?

Uwe

von klaus (Gast)


Lesenswert?

Ich benutze Oracle als DB. Die Abfrage soll möglichst ohne irgendwelche 
Tools auskommen.

SHOW geht leider nicht, im Manual steht SHOW nur im Zusammenhang mit 
FUNCTIONS, PROCEDURES, VIEWS usw.

Das Abfrageergebnis stell ich mir etwas so vor:

Table 1

Column 1 | Column 2 | Column 3

Table 2

Column 1 | Column 2 | Column 3 | Column 4

...
...
..


Und evt. noch die Primary -  und Foreign-Keys hervorgehoben.

von Alibi (Gast)


Lesenswert?

Sorry, wie Uwe geschrieben hat, habe ich "Toad" gemeint. Wollte keine 
Werbung für filesharing machen!

von Simon K. (simon) Benutzerseite


Lesenswert?

klaus wrote:
> Ich benutze Oracle als DB.

Sowas dachte ich mir schon. SHOW TABLES oder SHOW COLUMNS ist (soweit 
ich weiß?) MySQL spezifisch.

Das Problem ist, dass ich mich noch nie mit Oracle beschäftigt habe. 
Findest du in der Befehlsreferenz von Oracle nicht irgendwelche Befehle? 
Eventuell findest du ja Beispiele im Internet mit einer Suchmaschine 
deiner Wahl.

von Uwe M. (lifthrasil)


Lesenswert?

Bei Oracle muss ich leider auch passen bzw. im MySQL Manual steht (s. 
http://dev.mysql.com/doc/refman/5.0/en/describe.html):

DESCRIBE provides information about the columns in a table. It is a 
shortcut for SHOW COLUMNS FROM.
[...]
The DESCRIBE statement is provided for compatibility with Oracle.

Vielleicht ist ja DESCRIBE das was du suchst!

greetz Uwe

von Florian (Gast)


Lesenswert?

SELECT table_name FROM user_tables;

zeigte alle Tabellen im Schema unter Oracle.

Spalten dazu anzeigen ist komplizierter:

SELECT
column_name,
nullable,
data_type,
data_length
FROM user_tab_columns order by table_name;

oder sowas in der Art.

von klaus (Gast)


Lesenswert?

@ Uwe M.: DESCRIBE funktioniert schonmal gut,allerdings nur mit einer 
Tabelle

@ Florian: die SELECT's funktioniern auch prima, ich suche noch nach 
einer Möglichkeit beides zu kombinieren:

SELECT table_name FROM user_tables; erzeugt mir eine Liste mit allen 
Tabellen

ist es möglich für jeden Eintrag dieser Abfrage autmatisch ein DESCRIBE 
zu machen?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.