MYSQL - подсчитать количество строк в каждой таблице - PullRequest
29 голосов
/ 05 января 2011

Я хотел бы знать, сколько строк в каждой таблице в моей базе данных. Я дошел до того, что

select count(*) _tablename_; 

Однако мне нужно было бы сделать это на каждом столе - и их много. Какой лучший способ получить распечатку с именем таблицы и количеством строк?

Ответы [ 2 ]

83 голосов
/ 05 января 2011
SELECT table_name, table_rows
    FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_SCHEMA = '<your db>';

Я также надеюсь, что вы понимаете, что в вашем запросе есть ошибка: отсутствует FROM.

1 голос
/ 03 июля 2018

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

SELECT table_name, table_rows
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = '<your db>';

TABLE_ROWS : количество строк таблицы враздел.Для секционированных таблиц InnoDB количество строк, указанное в столбце TABLE_ROWS, является только оценочным значением, используемым при оптимизации SQL, и может не всегда быть точным ... для более https://dev.mysql.com/doc/mysql-infoschema-excerpt/5.5/en/partitions-table.html

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