Как перечислить все столбцы в таблице?

Для различных популярных систем баз данных, как вы перечисляете все столбцы в таблице?

Ответ 1

Для MySQL используйте:

DESCRIBE name_of_table;

Это также работает для Oracle, если вы используете SQL * Plus или Oracle SQL Developer.

Ответ 2

Для Oracle (PL/SQL)

SELECT column_name
FROM user_tab_cols
WHERE table_name = 'myTableName'

Для MySQL

SHOW COLUMNS FROM table_name

Ответ 3

Для MS SQL Server:

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

Ответ 4

Я знаю это поздно, но я использую эту команду для Oracle:

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

Ответ 5

(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';

Ответ 6

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'

или же

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

Второй способ - это стандарт ANSI, поэтому он должен работать со всеми базами данных, совместимыми с ANSI.

Ответ 7

MS SQL Server:

sp_columns [tablename]

Ответ 8

Microsoft SQL Server Management Studio 2008 R2:

В редакторе запросов, если вы выделите текст имени таблицы (например, dbo.MyTable) и нажмете ALT + F1, вы получите список имен столбцов, типа, длины и т.д.

ALT + F1 пока вы выделили dbo.MyTable - это эквивалент запуска EXEC sp_help 'dbo.MyTable' соответствии с этим сайтом

Я не могу заставить работать варианты INFORMATION_SCHEMA.COLUMNS, поэтому я использую это вместо этого.

Ответ 9

Для SQL Server

sp_help tablename

Ответ 10

SQL Server

Чтобы просмотреть все пользовательские таблицы базы данных:

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

Чтобы перечислить все столбцы таблицы:

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

Ответ 11

Просто небольшая коррекция для остальных в SQL Server (префикс схемы становится все более важным!):

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

Ответ 12

Пример:

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

Только мой код