SQL, чтобы проверить, пуста ли база данных (никакие таблицы)

Похоже, у вас есть 3 фрагмента информации, которые вместе представляют определенное состояние в вашем приложении. Вместо того, чтобы включать эти 3 части состояния, почему бы не создать значение, которое инкапсулирует их? Затем вы можете использовать иерархию объектов или делегата во время создания, чтобы связать действие, которое вы пытаетесь выполнить.

8
задан Carl Manaster 18 June 2009 в 14:35
поделиться

7 ответов

SELECT COUNT(DISTINCT `table_name`) FROM `information_schema`.`columns` WHERE `table_schema` = 'your_db_name'

вернет фактическое количество таблиц (или представлений) в вашей БД. Если это число равно 0, значит, таблиц нет.

12
ответ дан 5 December 2019 в 04:55
поделиться
select count(*)
  from information_schema.tables
 where table_type = 'BASE TABLE'
   and table_schema = 'your_database_name_here'
14
ответ дан 5 December 2019 в 04:55
поделиться

Если вы используете SQL Server 2005 или выше, вы можете использовать одно из системных представлений, чтобы получить это для текущей базы данных:

select Count(*)
from sys.tables
where [type] = 'U'
1
ответ дан 5 December 2019 в 04:55
поделиться

В MYSQL:

use DATABASE;
show tables;
6
ответ дан 5 December 2019 в 04:55
поделиться

Реализация SQLServer:

USE database_name
SELECT COUNT(*) from information_schema.tables 
WHERE table_type = 'base table' 
1
ответ дан 5 December 2019 в 04:55
поделиться

«Выбрать * из information_schema.tables» даст вам список таблиц в большинстве баз данных.

0
ответ дан 5 December 2019 в 04:55
поделиться

В Oracle: выберите Count (*) из user_tables

0
ответ дан 5 December 2019 в 04:55
поделиться
Другие вопросы по тегам:

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