piet: Abfragen von Spaltennamen

Hallo,

gibt es eine Möglichkeit die Namen der Spalten in einer Tabelle abzufragen ? per SQL ?
Wenn dies möglich ist, sind dann die Spaltennamen als Rückgabewert auch in der richtigen Reihenfolge (von links nach rechts) oder einfach durcheinander ?

Danke
         piet

  1. Hi,

    gibt es eine Möglichkeit die Namen der Spalten in einer Tabelle abzufragen ? per SQL ?

    "select top 0 * from tabelle" bei M$SQL z.B.
    Bei MySQL gibts "limit"

    Wenn dies möglich ist, sind dann die Spaltennamen als Rückgabewert auch in der richtigen Reihenfolge (von links nach rechts) oder einfach durcheinander ?

    Es gibt keine "richtige Reihenfolge", oder?

    Manni

  2. Hello,

    Das hängt vom Datenbanksystem ab, wie das funktioniert. Ob es Standard-SQL ist, kann ich Dir nicht beantworten. Aber bei MySQL kannst Du das z.B. mittels

    show table status

    machen. Dann hast Du alle Spalteninformationen zu allen Tabellen der DB.

    Irgendwie hatte ich auch noch in Erinnerung, dass man über ein leeres Resultset auch an die Spaltennamen kommen könnte, aber das war wohl ein Denkknoten.

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

  3. Hi Piet,

    gibt es eine Möglichkeit die Namen der Spalten in einer Tabelle abzufragen ?

    DESCRIBE tabellenname;
    AFAIK kein Standard SQL, aber in fast jedem Datenbanksystem so vorhanden.

    Grüße,

    Jochen

    --
    Heute schon gescribbelt?
    Scribbleboard
    1. Hello,

      DESCRIBE tabellenname;
      AFAIK kein Standard SQL, aber in fast jedem Datenbanksystem so vorhanden.

      Ach, ja...
      Alternativ bei MySQL

      SHOW COLUMNS from tabellenname

      ist wohl ein Alias.

      Harzliche Grüße vom Berg
      http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau

  4. Hallo,

    wenn dein DBMS den Standard "ANSI SQL-92" implementiert hat, stehen
    dir Meta-Ansichten über das Schema "INFORMATION_SCHEMA" zur Verfügung,
    mit welchen du Tabellen und Spalten als Resultset zurückliefern kannst.

      
    SELECT * FROM INFORMATION_SCHEMA.COLUMNS  
    WHERE TABLE_NAME = 'DeineTabelle'  
    
    

    MS SQL 2000, 2005 und MySQL v5 unstützen dies n.m.W..

    Ciao, Frank