我正在使用MySQL v.5.0.77,想知道是否能够计算数据库中的表数。我已经做了很多研究,但找不到不过时的方法来实现这个目标。
对于每个注册用户,我在数据库中生成了一个表格。现在我正在尝试获取这些表格的实时数量,如果这有意义的话。这是存储用户信息的逻辑方式吗?我无法在我的服务器上以编程方式创建整个数据库。
对于每个注册用户,我在数据库中生成了一个表格。现在我正在尝试获取这些表格的实时数量,如果这有意义的话。这是存储用户信息的逻辑方式吗?我无法在我的服务器上以编程方式创建整个数据库。
你可以对 information_schema.tables
进行查询。
SELECT COUNT(*) FROM information_schema.TABLES
WHERE TABLE_SCHEMA='$database_name';
SELECT COUNT(*) FROM information_schema.tables WHERE table_schema='YOUR_DB_NAME_HERE'
我不知道这是否比ajreal的答案慢,但我一直在使用:
$sql = "SHOW TABLES";
$res = mysql_query($sql);
$num_tables = mysql_num_rows($res);
use myDB
,然后输入show tables;
。它会给出所有表的名称和最后一行的总表数47 rows in set (0.00 sec)
。SELECT COUNT(*) FROM information_schema.tables WHERE table_schema='myDB'