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

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

select count(*) from tablename

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

Ответы [ 18 ]

183 голосов
/ 18 марта 2009
SELECT COUNT(*)
  FROM INFORMATION_SCHEMA.COLUMNS
 WHERE table_catalog = 'database_name' -- the database
   AND table_name = 'table_name'
34 голосов
/ 25 июля 2014
SELECT COUNT(COLUMN_NAME) 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE 
    TABLE_CATALOG = 'Database name' 
    AND TABLE_SCHEMA = 'dbo' 
    AND TABLE_NAME = 'table name'
4 голосов
/ 16 февраля 2013

Использование JDBC в Java:

    String quer="SELECT * FROM sample2";

    Statement st=con.createStatement();
    ResultSet rs=st.executeQuery(quer);
    ResultSetMetaData rsmd = rs.getMetaData();
    int NumOfCol=0;
    NumOfCol=rsmd.getColumnCount();
    System.out.println("Query Executed!! No of Colm="+NumOfCol);
3 голосов
/ 18 марта 2009

Или используйте sys.columns

--SQL 2005
SELECT  *
FROM    sys.columns
WHERE   OBJECT_NAME(object_id) = 'spt_values'
-- returns 6 rows = 6 columns

--SQL 2000
SELECT  *
FROM    syscolumns
WHERE   OBJECT_NAME(id) = 'spt_values'
-- returns 6 rows = 6 columns

SELECT  *
FROM    dbo.spt_values
    -- 6 columns indeed
3 голосов
/ 30 января 2017
SELECT count(*)
FROM information_schema.columns
WHERE table_name = 'Your_table_nale';

Примечание. Your_table_nale заменяется именем вашей таблицы

3 голосов
/ 02 марта 2012

Было немного поздно, но, пожалуйста, забери это у меня ...

В редакторе (New Query) с помощью выберите объект базы данных . Это может быть и таблица. Если мы используем комбинацию клавиш Alt + F1 , мы получим всю информацию о объект, и я думаю, решит и вашу проблему.

2 голосов
/ 30 апреля 2013
SELECT COUNT(COLUMN_NAME) FROM INFORMATION_SCHEMA.COLUMNS WHERE 
TABLE_CATALOG = 'database_name' AND TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'table_name'
2 голосов
/ 09 апреля 2014
SELECT count(*) FROM information_schema.`COLUMNS` C
WHERE table_name = 'your_table_name'
AND TABLE_SCHEMA = "your_db_name"
2 голосов
/ 31 января 2016

Ну, я попробовал ответ Натана Купа, и он не сработал для меня. Я изменил его на следующее, и это сработало:

SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'table_name'

Это также не сработало, если я поставил USE 'database_name' или WHERE table_catalog = 'database_name' AND table_name' = 'table_name'. Я на самом деле буду рад узнать, почему.

2 голосов
/ 03 ноября 2014

Количество столбцов в таблице можно найти, просто используя 3 простые строки кода PHP.

$sql="SELECT * FROM table";
$query=mysqli_query($connect_dude,$sql);    
$num=mysqli_num_fields($query);
В этом случае

$num вернет число columns для данной таблицы.

Надеюсь, это поможет другим.

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