Найти количество столбцов в таблице - PullRequest
104 голосов
/ 18 марта 2009

Можно найти количество строк в таблице:

select count(*) from tablename

Можно ли найти количество столбцов в таблице?

Ответы [ 18 ]

1 голос
/ 01 ноября 2012

Запрос на подсчет количества столбцов в таблице:

select count(*) from user_tab_columns where table_name = 'tablename';

Замените имя таблицы на имя таблицы, общее количество столбцов которой вы хотите вернуть.

1 голос
/ 01 апреля 2013

Можно получить с помощью следующего оператора SQL:

select count(*) Noofcolumns from SYSCOLUMNS where id=(select id from SYSOBJECTS where name='table_name')
0 голосов
/ 09 июня 2019

Поскольку все ответы используют COUNT(), вы также можете использовать MAX(), чтобы получить число столбцов в конкретной таблице как

SELECT MAX(ORDINAL_POSITION) NumberOfColumnsInTable
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_CATALOG = 'YourDatabaseNameHere'
      AND 
      TABLE_SCHEMA = 'YourSchemaNameHere'
      AND
      TABLE_NAME = 'YourTableNameHere';

См. The INFORMATION_SCHEMA COLUMNS Table

0 голосов
/ 30 декабря 2018

Вот как вы можете получить количество столбцов таблицы, используя выражения Python 3, sqlite3 и pragma:

con = sqlite3.connect(":memory:")    
con.execute("CREATE TABLE tablename (d1 VARCHAR, d2 VARCHAR)")
cur = con.cursor()
cur.execute("PRAGMA table_info(tablename)")
print(len(cur.fetchall()))

Источник

0 голосов
/ 27 июня 2018
SELECT TABLE_SCHEMA
    , TABLE_NAME
    , number = COUNT(*) 
FROM INFORMATION_SCHEMA.COLUMNS
GROUP BY TABLE_SCHEMA, TABLE_NAME;

Этот работал для меня.

0 голосов
/ 06 января 2018
SELECT COUNT(*) 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE 
   TABLE_NAME = 'table_name';
0 голосов
/ 28 февраля 2013

Следующий запрос находит, как столбцы в таблице: -

 SELECT COUNT(COLUMN_NAME) FROM USER_TAB_COLUMNS
 WHERE TABLE_NAME = 'TableName';
0 голосов
/ 08 августа 2013

Ответ MySQL, слегка адаптированный из примера MSDN для MySqlDataReader.GetValues ​​:

//assumes you've already created a connection, opened it, 
//and executed a query to a reader

while(reader.Read())
{
    Object[] values = new Object[reader.FieldCount];
    int fieldCount = reader.GetValues(values);

    Console.WriteLine("\nreader.GetValues retrieved {0} columns.",   fieldCount);
    for (int i = 0; i < fieldCount; i++)
        Console.WriteLine(values[i]);
}

Использование MySqlDataReader.FieldCount позволит вам получить количество столбцов в строке, которую вы запросили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...