
23/04/2011, 06:42
|
 | Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 2 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) |