Подтвердить что ты не робот

Как подсчитать столбцы таблицы

Например:

tbl_ifo

id | name  | age | gender 
----------------------------
1  | John  |  15 |  Male
2  | Maria |  18 |  Female
3  | Steph |  19 |  Female
4  | Jay   |  21 |  Male

Как подсчитать столбцы этой таблицы с помощью mysql?

4b9b3361

Ответ 1

SELECT count(*)
FROM information_schema.columns
WHERE table_name = 'tbl_ifo'

Ответ 2

Я думаю, вам нужно также указать имя базы данных:

SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = 'SchemaNameHere'
  AND table_name = 'TableNameHere'

если вы не укажете имя своей базы данных, возможно, он будет считать все столбцы, если он совпадает с именем вашей таблицы. Например, у вас есть две базы данных: DBaseA and DbaseB, In DBaseA, она имеет две таблицы: TabA (3 поля), TabB (4 поля). И в DBaseB он снова имеет две таблицы: TabA ( 4 поля), TabC (4 поля).

если вы запустите этот запрос:

SELECT count(*)
FROM information_schema.columns
WHERE table_name = 'TabA'

он вернет 7, потому что есть две таблицы с именем TabA. Но добавив еще одно условие table_schema = 'SchemaNameHere':

SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = 'DBaseA'
  AND table_name = 'TabA'

то он вернет только 3.

Ответ 3

$cs = mysql_query("describe tbl_info");
$column_count = mysql_num_rows($cs);

Или просто:

$column_count = mysql_num_rows(mysql_query("describe tbl_info"));

Ответ 4

Чтобы точно подсчитать столбцы вашей таблицы, вы можете получить форму information_schema.columns с передачей нужного имени базы данных (схемы) и имени таблицы.


Ссылка на следующий код:

SELECT count(*)
FROM information_schema.columns
WHERE table_schema = 'myDB'  
AND table_name = 'table1';

Ответ 5

Просто используйте mysql_fetch_assoc и подсчитайте массив с помощью функции count()

Ответ 6

этот запрос может помочь вам

SELECT COUNT(COLUMN_NAME) FROM INFORMATION_SCHEMA.COLUMNS WHERE 
TABLE_CATALOG = 'database' AND TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'tbl_ifo'