MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

データベースが空かどうかを確認するためのMySQLクエリ?


INFORMATION_SCHEMA.COLUMNSを使用して、データベースが空かどうかを確認できます。構文は次のとおりです-

SELECT COUNT(DISTINCT `TABLE_NAME`) AS anyAliasName FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `table_schema` = 'yourDatabaseName';

上記の構文は、データベースに注目すべき場合は0を返し、そうでない場合はテーブルの数を返します。この例では、以前に作成したデータベース「sample」と「test3」を使用しています。

最初のデータベース「サンプル」にはより多くのテーブルがあるため、上記のクエリはいくつかのテーブルを返します。 2番目のデータベース「test3」にはテーブルがないため、上記のクエリは0を返します。

ケース1 −データベースサンプル

クエリは次のとおりです-

mysql> SELECT COUNT(DISTINCT `table_name`) AS TotalNumberOfTables FROM `information_schema`.`columns` WHERE `table_schema` = 'sample';

以下は、その中のテーブルの数を表示する出力です。したがって、データベースは空ではありません-

+---------------------+
| TotalNumberOfTables |
+---------------------+
|                 130 |
+---------------------+
1 row in set (0.01 sec)

ケース2 −データベーステスト3

クエリは次のとおりです-

mysql> SELECT COUNT(DISTINCT `table_name`) AS TotalNumberOfTables FROM `information_schema`.`columns` WHERE `table_schema` = 'test3';

以下は0を返す出力であるため、データベースは空です-

+---------------------+
| TotalNumberOfTables |
+---------------------+
|                   0 |
+---------------------+
1 row in set (0.00 sec)

上記のように、0を取得した場合、データベースにテーブルがないことを意味します。


  1. MySQLで列が空かnullかどうかを確認するにはどうすればよいですか?

    列が空かnullかを確認するには、IS NULLを指定したwhere句を使用できます。空の場合は、条件‘‘、つまり空のスペースを使用できます。これに必要な手順は次のとおりです。最初に、次のようにcreateコマンドを使用してテーブルを作成します- mysql> CREATE table ColumnValueNullDemo -> ( -> ColumnName varchar(100) -> ); Query OK, 0 rows affected (0.61 sec) 挿入コマンドを使用して、空の値がテーブルに挿入されます。これを以下に示します- mysql>

  2. MySQLでどのデータベースが選択されているかを確認するにはどうすればよいですか?

    これは、dualのDATABASE()メソッドを使用して確認できます。データベースビジネスを使用しているとします。クエリは次のとおりです- mysql> use business; Database changed これで、デュアルからDATABASE()を使用して、どのデータベースが選択されているかを確認できます。クエリは次のとおりです- mysql> SELECT DATABASE() FROM DUAL; これが出力です。 +------------+ | DATABASE() | +------------+ | business | +---------