it-swarm.com.de

Wie liste ich alle Spalten in einer Tabelle auf?

Wie listen Sie für die verschiedenen gängigen Datenbanksysteme alle Spalten in einer Tabelle auf?

208
MattGrommes

Verwenden Sie für MySQL:

DESCRIBE name_of_table;

Dies funktioniert auch für Oracle, solange Sie SQL * Plus oder den SQL Developer von Oracle verwenden.

235
dave

Für Oracle (PL/SQL)

SELECT column_name
FROM user_tab_cols
WHERE table_name = 'myTableName'

Für MySQL

SHOW COLUMNS FROM table_name
109
MattGrommes

Für MS SQL Server:

select * from information_schema.columns where table_name = 'tableName'
86

(5 Jahre später, zu Ehren von PostgreSQL, dem fortschrittlichsten DDBB des Königreichs)

In PostgreSQL:

\d table_name

Oder mit SQL:

select column_name, data_type, character_maximum_length
    from INFORMATION_SCHEMA.COLUMNS 
    where table_name = 'table_name';
34
earizon

Ich weiß, dass es spät ist, aber ich benutze diesen Befehl für Oracle:

select column_name,data_type,data_length from all_tab_columns where TABLE_NAME = 'xxxx' AND OWNER ='xxxxxxxxxx'
34
ka_lin

SQL Server

SELECT 
    c.name 
FROM
    sys.objects o
INNER JOIN
    sys.columns c
ON
    c.object_id = o.object_id
AND o.name = 'Table_Name'

oder

SELECT 
    COLUMN_NAME 
FROM 
    INFORMATION_SCHEMA.COLUMNS
WHERE 
    TABLE_NAME  = 'Table_Name'

Der zweite Weg ist ein ANSI-Standard und daher sollte an allen ANSI-kompatiblen Datenbanken arbeiten.

25
Russ Cam

MS SQL Server:

sp_columns [Tabellenname]

13
Bryan

Microsoft SQL Server Management Studio 2008 R2:

Wenn Sie in einem Abfrageeditor den Text des Tabellennamens (ex dbo.MyTable) markieren und drücken ALT+F1Sie erhalten eine Liste mit Spaltennamen, Typ, Länge usw.

ALT+F1 Wenn Sie dbo.MyTable markiert haben, entspricht dies dem Ausführen von EXEC sp_help 'dbo.MyTable'gemäß dieser Site

Ich kann die Variationen beim Abfragen von INFORMATION_SCHEMA.COLUMNS nicht zum Funktionieren bringen, daher verwende ich diese stattdessen.

10
Leslie Sage

Für SQL Server

sp_help tablename
4
Luv

Nur eine kleine Korrektur zu den anderen in SQL Server (Schema-Präfix wird immer wichtiger!):

SELECT name
  FROM sys.columns 
  WHERE [object_id] = OBJECT_ID('dbo.tablename');
3
Aaron Bertrand

Beispiel:

select Table_name as [Table] , column_name as [Column] , Table_catalog as [Database], table_schema as [Schema]  from information_schema.columns
where table_schema = 'dbo'
order by Table_name,COLUMN_NAME

Nur mein Code

3
Matthew lowe

SQL Server

So listen Sie alle benutzerdefinierten Tabellen einer Datenbank auf:

use [databasename]
select name from sysobjects where type = 'u'

So listen Sie alle Spalten einer Tabelle auf:

use [databasename]
select name from syscolumns where id=object_id('tablename')
3
Mircea Grelus