以下のコマンドを実行すると、データベースの名前を知ることができます。テーブル数を指定したmysqlshow
$ mysqlshowは
しかし、どのように私は、各データベース内のテーブルの数と、空のテーブルの数が知っているのですか?例えば、
デシベル数は、データベース内のテーブルを取得するには
SHOW TABLES;
を使用することができ、空
テスト10 5
MYDB 122 0
クライアント34 34
以下のコマンドを実行すると、データベースの名前を知ることができます。テーブル数を指定したmysqlshow
$ mysqlshowは
しかし、どのように私は、各データベース内のテーブルの数と、空のテーブルの数が知っているのですか?例えば、
デシベル数は、データベース内のテーブルを取得するには
SHOW TABLES;
を使用することができ、空
テスト10 5
MYDB 122 0
クライアント34 34
。空yablesためTABLE_ROWS列に
select count(*) from information_schema.tables
where table_schema = <My Schema>
and table_type = 'BASE TABLE';
とフィルタ:MySQLサーバ上のすべてのデータベースに関するメタデータが含まれてい
特別なデータベースがあるselect count(*) from information_schema.tables
where table_schema = <My Schema>
and table_type = 'BASE TABLE'
and table_rows = 0;
と返された行を数えます。 (それは非常に遅くなることができますが)
また、これを行うことができます:あなたはそれにpriviligesを持っている場合は、INFORMATION_SCHEMA.TABLESからのカウント(*)を選択することができます
SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'my_database';
SHOW DATABASES;
SHOW TABLES FROM --your_db_here--;
SELECT COUNT(*) = 0 FROM --your_table_here--;
、INFORMATION_SCHEMA。
SELECT `TABLE_NAME`, `TABLE_ROWS`
FROM `information_schema`.`TABLES`
WHERE `TABLE_SCHEMA` = 'NameOfDatabaseYouAreInterestedIn'
AND `TABLE_TYPE` = 'BASE TABLE'
TABLE_ROWS常に完全に正確ではありません、あなたは、テーブルをループにしたいと私はこのことができます場合は知らないが、テーブルごとの行数を表示するmysqlshow
へのオプションがあり、カウント
すべてのデータベースに関する情報が必要な場合は、where句からTABLE_SCHEMAを削除できます – Scott
を得ることができます(--count
):
$mysqlshow --count *p*
Wildcard: %p%
+-------------+--------+--------------+
| Databases | Tables | Total Rows |
+-------------+--------+--------------+
| implantacao | 25 | 134 |
| pmsp | 80 | 8561947 |
| tmp | 7 | 5 |
+-------------+--------+--------------+
3 rows in set.
そして、あなたは、データベース名渡す場合:
$mysqlshow --count tmp
Database: tmp
+------------+----------+------------+
| Tables | Columns | Total Rows |
+------------+----------+------------+
| builds | 2 | 0 |
| gtable | 2 | 5 |
| patterns | 9 | 0 |
| products | 2 | 0 |
| sig_types | 2 | 0 |
| signatures | 2 | 0 |
| versions | 2 | 0 |
+------------+----------+------------+
7 rows in set.
を
あなたは、テーブル名を追加し、それについての情報を取得することができます
$mysqlshow tmp gtable
Database: tmp Table: gtable
+--------+---------+-------------------+------+-----+---------+-------+---------------------------------+---------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+--------+---------+-------------------+------+-----+---------+-------+---------------------------------+---------+
| symbol | text | latin1_swedish_ci | YES | | | | select,insert,update,references | |
| size | int(11) | | YES | | | | select,insert,update,references | |
+--------+---------+-------------------+------+-----+---------+-------+---------------------------------+---------+
は、より多くのオプション/情報についてmysqlshow --help
を見てください。
カウントからビューを削除するには、両方のステートメントのwhere句に 'TABLE_TYPE' = 'BASE TABLE'を追加する必要があります。 – Scott
お寄せいただきありがとうございます。それをクエリに追加しました。 – Zed