Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

데이터베이스가 비어 있는지 확인하는 MySQL 쿼리?

<시간/>

INFORMATION_SCHEMA.COLUMNS를 사용하여 데이터베이스가 비어 있는지 여부를 확인할 수 있습니다. 구문은 다음과 같습니다 -

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

위의 구문은 데이터베이스에 주목할 만한 것이 있으면 0을 반환하고 그렇지 않으면 테이블 수를 반환합니다. 이 예에서는 이전에 생성한 'sample' 및 'test3' 데이터베이스를 사용하고 있습니다.

첫 번째 데이터베이스 '샘플'에는 더 많은 테이블이 있으므로 위의 쿼리는 여러 테이블을 반환합니다. 두 번째 데이터베이스 '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이 나오면 데이터베이스에 테이블이 없다는 의미입니다.