Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Contar registros de varias tablas con nombre y resultado Mysql

Estas en el tema de Contar registros de varias tablas con nombre y resultado Mysql en el foro de Mysql en Foros del Web. Buenos días a todos, nuevamente solicitando una mano con respecto a sentencias mysql. Dias atrás quería contabilizar el total de registros de una base de ...
  #1 (permalink)  
Antiguo 07/11/2011, 07:51
 
Fecha de Ingreso: octubre-2011
Ubicación: Buenos Aires
Mensajes: 6
Antigüedad: 12 años, 5 meses
Puntos: 0
Busqueda Ayuda: Contar registros de varias tablas con nombre y resultado Mysql

Buenos días a todos, nuevamente solicitando una mano con respecto a sentencias mysql.

Dias atrás quería contabilizar el total de registros de una base de datos con 89 tablas, lo cual gracias a Gnzsoloyo pude hacerlo.

El tema es que la sentencia:

SELECT sum(table_rows) total_regs
FROM information_schema.`tables` t
WHERE table_schema = 'MY_DB_C/89TABLAS';


solo me devuelve el valor total de la DB; entonces le saque el "SUM" y me devuelve lo valores totales de cada tabla.

Lo que quiero solucionar ahora es que me devuelva con los nombres de las tablas y el valor total de cada uno.

Gracias por la ayuda.

Última edición por rahmat; 07/11/2011 a las 08:08
  #2 (permalink)  
Antiguo 07/11/2011, 09:10
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Contar registros de varias tablas con nombre y resultado Mysql

Basta que le pongas
Código MySQL:
Ver original
  1. SELECT TABLE_NAME, table_rows total_regs
  2. FROM information_schema.`tables` t
  3. WHERE table_schema = 'MY_DB_C/89TABLAS';
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 07/11/2011, 12:26
 
Fecha de Ingreso: octubre-2011
Ubicación: Buenos Aires
Mensajes: 6
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Contar registros de varias tablas con nombre y resultado Mysql

Contar registros de varias tablas con nombre y resultado Mysql
Hola, mi nombre es Rahmat, primeramente gracias por tus aportes.

Pero tengo esta duda con respecto de contar los registros de una BD:::

1)- Al hacer esta sentencia:

SELECT sum(table_rows) total_regs
FROM information_schema.`tables` t
WHERE table_schema = 'santiago1';

Me da como resultado un total de 960.026 registros.

2)- Al hacer esta sentencia:

SELECT TABLE_NAME, table_rows total_regs
FROM information_schema.`tables` t
WHERE table_schema = 'santiago1';

y al exportarlo en excel y al sumarlo da 958.951;

Y 3)- Al hacer esta sentencia:

SELECT COUNT(0) FROM tabla1
UNION
SELECT COUNT(0) FROM tabla2
UNION
SELECT COUNT(0) FROM tabla3
UNION
SELECT COUNT(0) FROM tabla4
UNION
SELECT COUNT(0) FROM tabla.... hasta llegar al 85;

me dá como resultado 962.700 registros.

Como verás, tengo 3 resultados distintos (960.026, 958.951 y 962.700), conltando en otros lados nadie dá pié con bolas....SI ME PUEDEN DAR UNA MANO PARA SABER CUAL ES LA VERDAD DE ESTAS BUSQUEDAS Y SABER ESACTAMENTE CUAL ES EL VEDADERO VALOR.

DISCULPA LAS MOLESTIAS, PERO DE APOCO ESTOY APRENDIENDO ESTE LENGUAJE.

sALUDOS y gracias POR TU AYUDA
  #4 (permalink)  
Antiguo 07/11/2011, 17:58
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Contar registros de varias tablas con nombre y resultado Mysql

Cita:
Como verás, tengo 3 resultados distintos (960.026, 958.951 y 962.700), conltando en otros lados nadie dá pié con bolas....SI ME PUEDEN DAR UNA MANO PARA SABER CUAL ES LA VERDAD DE ESTAS BUSQUEDAS Y SABER ESACTAMENTE CUAL ES EL VEDADERO VALOR.
Oficialmente, y para el uso de todas las aplicaciones que acceden a MySQL, la cantidad de registros reales de una tabla están expresados en el campo TABLE_ROWS, de la consulta que te pasé originalmente.
Tanto el MySQL Administrator, como el WorkBench o el phpMyAdmin toman ese número como válido, porque ese es el espacio real usado por las tablas, pero sólo representa cantidades exactas si y sólo si son tablas MyISAM. En las tablas InnoDB el valor es una aproximación aceptable, por razones que tienen que ver con la forma en que está implementado el modelo de tablas InnoDB.
En cualquier caso, si quieres saber la cantidad exacta sólo te queda contar los registros de todas las tablas...
De todos modos te aclaro que la diferencia, a nivel estadístico, es despreciable, por lo que a menos que se trate de razones muy específicas, el valor tomado de information_schema.tables, es suficientemente preciso para la mayor parte de los usos.

Cita:
PERO DE APOCO ESTOY APRENDIENDO ESTE LENGUAJE.
MySQL no es un lenguaje. Es un administrador de bases de datos o DBMS, que usa una versión de SQL extendido con agregados propios, lo mismo que hacen los diferentes sistemas de bases de datos (Oracle, Postgre, etc.). El lenguaje es SQL, pero no es un lenguaje de programación sino de consultas..
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 07/11/2011 a las 18:44

Etiquetas: nombre, registros, select, sql, tabla, tablas, resultados
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:38.