Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/04/2011, 06:42
Avatar de gnzsoloyo
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, 5 meses
Puntos: 2658
Respuesta: Como realizar un analisis de una BD en MySQL

Para lograrlo sólo necesitas el nombre de la base. Todas esas operaciones las puede responder la base INFORMATION_SCHEMA.
- Los nombres de las tablas lo sacas de la tabla "TABLES", en la columna "TABLE_NAME", donde el nombre de la base aparezca en "TABLE_SCHEMA". El nombre es sensible a mayusculas/minusculas.
- Los nombres de los campos se de la tabla COLUMNS y el nombre de la base en TABLE_SCHEMA. El nombre de las columnas está en COLUMN_NAME y el orden en la tabla en ORDINAL_POSITION.
- El numero de registros lo puedes sacar de TABLES, de la columna TABLE_ROWS.
- Para obtener el nombre de las tablas que no pueden borrarse porque poseen FK, debes consultar la columna CONTRAINT_TYPE de la tabla TABLE_CONSTRAINTS, donde el nombre de la base aparece en TABLE_SCHEMA y el de la tabla en TABLENAME_. Devovlerá un registro por cada FK, por lo que si sólo quieres los nombres de las tablas debes hacer un agrupamiento por nombre de tabla y de base.

Nota: Sólo puedes hacer estas operaciones si el usuario que utilizas tiene permisos de lectura a la base INFORMATION_SCHEMA. Como se trata de una base de alto privilegio, no es bueno incluir esto dentro de códigos en web.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)