SQL 查询 - 返回具有 0 行的表名



如果我想返回表名,如果该表为空,您如何在 SQL 中查询?

例如?

table1 = 3 rows
table2 = 1 row
table3 = 0 row

查询将返回表名"table3",因为它有 0 行。

$con=mysqli_connect("localhost","my_user","my_password","my_db"(;

$sql="选择姓氏,年龄从人按姓氏排序";

if ($result=mysqli_query($con,$sql(( {

$rowcount=mysqli_num_rows($result(;

if($rowcount> 0( {

printf("Result set has %d rows.n",$rowcount);

} else {

echo 'Persons'; // table name
}

}

SELECT SUM(TABLE_ROWS), TABLE_NAME 
FROM INFORMATION_SCHEMA.TABLES 

或者,如果您使用的是MS SQL,则有一个报告可以为您提供该信息

右键单击,报告,标准报告,然后按顶级表进行磁盘使用情况,将有记录数量以及其他信息。

SELECT TABLE_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES where TABLE_ROWS = 0;将返回包含 0 行的表。

上面的语句不会特别有用,因为它返回包括系统在内的所有数据库中的表名。

因此,对TABLE_SCHEMA进行过滤将仅在感兴趣的数据库上获得具有 0 行的表。

决赛:SELECT TABLE_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES where TABLE_ROWS = 0 and TABLE_SCHEMA = 'databaseName';

相关内容

  • 没有找到相关文章

最新更新