0

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

12

Заголовок: Как посчитать количество столбцов в таблице с помощью MySQL?

Описание проблемы: У меня есть следующая таблица с данными:

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

Я хотел бы узнать, как посчитать количество столбцов в этой таблице, используя MySQL. Какое SQL-запрос мне следует использовать для этой задачи? Заранее спасибо за помощь!

5 ответ(ов)

0

У меня есть более общий ответ, который, по моему мнению, полезен для подсчета столбцов во всех таблицах базы данных:

SELECT table_name, count(*) AS column_count
FROM information_schema.columns
GROUP BY table_name;

Этот запрос вернет названия всех таблиц в базе данных вместе с количеством столбцов в каждой из них.

0

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

Вот пример кода:

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

Этот запрос вернет количество столбцов в таблице table1 базы данных myDB. Не забудьте заменить myDB и table1 на соответствующие имена вашей базы данных и таблицы.

0

Вы можете использовать следующий SQL-запрос для получения количества столбцов в таблице 'tbl_ifo':

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

Этот запрос обращается к системной таблице information_schema.columns, которая содержит информацию о всех столбцах в базе данных. Фильтрация по имени таблицы table_name позволит вам получить количество столбцов именно в указанной таблице 'tbl_ifo'. Если таблица находится в определённой схеме, возможно, вам также потребуется указать эту схему, добавив условие AND table_schema = 'имя_схемы'.

0

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

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

Если вы не укажете имя вашей базы данных, есть вероятность, что запрос будет считать все столбцы, соответствующие имени вашей таблицы. Например, у вас есть две базы данных: DBaseA и DbaseB. В 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.

0

Ваша задача заключается в том, чтобы получить количество столбцов в таблице tbl_info с использованием функции mysql_query в PHP. В приведенном вами коде выполняется запрос describe tbl_info, который возвращает структуру таблицы, а затем используется mysql_num_rows для подсчета количества строк в результате, что соответствует количеству столбцов.

Тем не менее, стоит отметить, что функции mysql_* устарели и больше не поддерживаются в последующих версиях PHP. Рекомендуется использовать mysqli или PDO.

Вот пример кода с использованием mysqli:

$connection = mysqli_connect("localhost", "username", "password", "database");
$result = mysqli_query($connection, "DESCRIBE tbl_info");
$column_count = mysqli_num_rows($result);

echo "Количество столбцов: " . $column_count;

mysqli_close($connection);

Этот код соединяется с базой данных, выполняет запрос на описание таблицы tbl_info, подсчитывает количество столбцов и выводит его. Не забудьте заменить "localhost", "username", "password" и "database" на ваши значения.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь