web-dev-qa-db-ja.com

テーブル内のすべての列を一覧表示する方法

さまざまな一般的なデータベースシステムで、テーブル内のすべての列をどのようにリストしますか。

191
MattGrommes

MySQLの場合は、次のように使用します。

DESCRIBE name_of_table;

これは、SQL * PlusまたはOracleのSQL Developerを使用している限り、Oracleでも機能します。

222
dave

Oracleの場合(PL/SQL)

SELECT column_name
FROM user_tab_cols
WHERE table_name = 'myTableName'

MySQLの場合

SHOW COLUMNS FROM table_name
106
MattGrommes

MS SQL Serverの場合

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

(5年後、PostgreSQLの名誉、王国の最も先進的なDDBB)

PostgreSQLの場合:

\d table_name

あるいは、SQLを使用します。

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

私はそれが遅れていることを知っています、しかし私はOracleのためにこのコマンドを使います:

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

SQLサーバー

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

または

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

2番目の方法はANSI規格なので、all ANSI準拠のデータベースでshouldが動作します。

25
Russ Cam

MS SQL Server:

sp_columns [テーブル名]

13
Bryan

Microsoft SQL Server管理スタジオ2008 R2:

クエリエディタで、テーブル名(ex dbo.MyTable)のテキストを強調表示してヒットした場合 ALT+F1カラム名、型、長さなどのリストが得られます。

ALT+F1 dbo.MyTableを強調している間はEXEC sp_help 'dbo.MyTable'を実行するのと同じです このサイトによると

INFORMATION_SCHEMA.COLUMNSに対するクエリのバリエーションが機能しないため、代わりにこれを使用します。

10
Leslie Sage

SQL Serverの場合

sp_help tablename
4
Luv

SQL Serverの他の部分を少し修正するだけです(スキーマプレフィックスがより重要になりつつあります)。

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

例:

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

私のコードだけ

3
Matthew lowe

SQLサーバー

データベースのすべてのユーザー定義テーブルを一覧表示するには

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

テーブルのすべての列を一覧表示するには

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