mysqlでテーブルのレコード数を取得する方法です。
select count(*) from テーブル名 でもよいのですが、たとえばDBの全テーブルのレコード数を知りたい場合には、テーブル数だけ select を実行しなければならなくなります。
こんな場合には、mysqlのテーブル情報でも書いた information_schema DB の TABLES テーブルから情報を取得します。
> select table_name, table_rows from information_schema.TABLES;
+------------+------------+
| table_name | table_rows |
+------------+------------+
| tbl1 | 10 |
| tbl2 | 5 |
| tbl3 | 5 |
+------------+------------+
3 rows in set (0.00 sec)
これだと全DBのテーブル情報を取得してしまうので、特定のDBのテーブルのレコード数を取得するには、where table_schema = 'DB名' で対象とする DB を指定します。
select table_name, table_rows from information_schema.TABLES
where table_schema = 'DB名';
select count(*) from テーブル名 でもよいのですが、たとえばDBの全テーブルのレコード数を知りたい場合には、テーブル数だけ select を実行しなければならなくなります。
こんな場合には、mysqlのテーブル情報でも書いた information_schema DB の TABLES テーブルから情報を取得します。
> select table_name, table_rows from information_schema.TABLES;
+------------+------------+
| table_name | table_rows |
+------------+------------+
| tbl1 | 10 |
| tbl2 | 5 |
| tbl3 | 5 |
+------------+------------+
3 rows in set (0.00 sec)
これだと全DBのテーブル情報を取得してしまうので、特定のDBのテーブルのレコード数を取得するには、where table_schema = 'DB名' で対象とする DB を指定します。
select table_name, table_rows from information_schema.TABLES
where table_schema = 'DB名';