mikrocontroller.net

Forum: PC-Programmierung SQL Befehl


Autor: klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Uwe M. (lifthrasil)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Alibi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Simon K. (simon) Benutzerseite
Datum:

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

Benutzt du MySQL?

Autor: Uwe M. (lifthrasil)
Datum:

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

Uwe

Autor: klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Alibi (Gast)
Datum:

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

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Uwe M. (lifthrasil)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.