Получить количество полей в базе данных с помощью оператора SQL?

Вы вызвали ssh с параметром -t , чтобы передать ssh для размещения виртуального терминала для вас?

На странице man:

-t Принудительное распределение псевдо-tty. Это может быть использовано для выполнения произвольных программ на основе экрана на удаленной машине, что может быть очень полезно, например. при реализации услуг меню. Множество -t-параметров принудительно назначают tty, даже если ssh не имеет локального tty.

Кроме того, вам также может быть необходимо установить переменную среды TERM на сервере правильно, как предлагается в другом сообщении.

13
задан Eric Leschinski 27 August 2013 в 12:44
поделиться

4 ответа

ммм все поля во всех таблицах? предполагая стандарты (mssql, mysql, postgres), вы можете выполнить запрос по information_schema.columns

  SELECT COUNT(*) 
  FROM INFORMATION_SCHEMA.COLUMNS 

Или сгруппировать по таблице:

  SELECT TABLE_NAME, COUNT(*) 
  FROM INFORMATION_SCHEMA.COLUMNS 
  GROUP BY TABLE_NAME

Если несколько схем имеют одно и то же имя таблицы в одной БД, вы ДОЛЖНЫ также включать имя схемы (( например: dbo.Books, user.Books, company.Books и т. д.) В противном случае вы получите неверные результаты. Итак, лучший способ:

SELECT TABLE_SCHEMA, TABLE_NAME, COUNT(*) 
FROM INFORMATION_SCHEMA.COLUMNS 
GROUP BY TABLE_SCHEMA, TABLE_NAME
28
ответ дан 1 December 2019 в 19:50
поделиться

попробуйте это, это исключит просмотры, оставьте предложение where если вам нужны представления

  select count(*) from information_schema.columns c
join information_schema.tables t on c.table_name = t.table_name
and t.table_type = 'BASE TABLE'
4
ответ дан 1 December 2019 в 19:50
поделиться

Похоже, это то, что вам нужно.

select CountOfFieldsInDatabase = count(*)
from   information_schema.columns
1
ответ дан 1 December 2019 в 19:50
поделиться
select count(column_name) from information_schema.columns 
where table_name = **name of your table here **
0
ответ дан 1 December 2019 в 19:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: