/ / MySQL Requête pour compter tous les enregistrements de plusieurs tables - mysql, function, count

MySQL Query pour compter tous les enregistrements de plusieurs tables - mysql, function, count

Je veux compter tous les enregistrements de toutes les tables, j'ai essayé mais cela ne fonctionne pas.

DELIMITER $
CREATE FUNCTION countr(p_tablename varchar(10)) RETURN int(10) BEGIN DECLARE ra int; DECLARE table_count INT;
SET ra=
(SELECT COUNT(*) INTO table_count
FROM information_schema.tables
WHERE TABLE_SCHEMA = "dest_northwind"
AND TABLE_NAME = p_tablename); RETURN ra; END$ DELIMITER ;

Réponses:

1 pour la réponse № 1

Cela fera cela ...

SELECT SUM(TABLE_ROWS)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = DATABASE();

Mise à jour - le questionneur souhaite obtenir uniquement les lignes d'un sous-ensemble de tables, j'ai donc mis à jour ceci pour contenir la somme des tables individuelles ou le nombre de ces fils de table qui leur sont propres.

Somme des lignes du tableau ...

SELECT SUM(TABLE_ROWS)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME IN ("Table2","Table1");

Lignes de tableau par tableau ...

SELECT TABLE_NAME,SUM(TABLE_ROWS)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME IN ("Table2","Table1")
GROUP BY TABLE_NAME;