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

Eliminar espacio vacio de Tabla

Estas en el tema de Eliminar espacio vacio de Tabla en el foro de Mysql en Foros del Web. Hola, queria hacerles una pregunta que no sé como resolverla, Alguien que sepa los comandos por favor que me diga si existe una sentencia para ...
  #1 (permalink)  
Antiguo 11/04/2011, 15:34
Avatar de leocente  
Fecha de Ingreso: diciembre-2009
Mensajes: 62
Antigüedad: 15 años
Puntos: 4
Eliminar espacio vacio de Tabla

Hola, queria hacerles una pregunta que no sé como resolverla, Alguien que sepa los comandos por favor que me diga si existe una sentencia para esto.


Resulta que tengo una base de datos llamada "base" en el que le inserto tres filas

INSERT INTO base (nombre VARCHAR(10),id VARCHAR(10));

INSERT INTO base (nombre ,id) VALUES ('a','aaa');
INSERT INTO base (nombre ,id) VALUES ('z','zzz');
INSERT INTO base (nombre ,id) VALUES ('p','pp');

Me queda algo asi
------------------------------------------------------
nombre id
a aaa
z zzz
p ppp
--------------------------------------------------------

Depues elimino la primera fila asi

DELETE FROM base WHERE id= 'aaa';

Y me queda asi, perfecto

------------------------------------------------------
nombre id
z zzz
p ppp
--------------------------------------------------------

Pero al insertar de nuevo la fila, es decir al hacer

INSERT INTO base (nombre ,id) VALUES ('a','aaa');

Me inserta la fila en la primera posicion! quedandome asi

------------------------------------------------------
nombre id
a aaa
z zzz
p ppp
--------------------------------------------------------


Cuando en realidad tendria que quedarme asi

------------------------------------------------------
nombre id
z zzz
p ppp
a aaa
--------------------------------------------------------



Agradeceria que me expliquen porque pasa esto??? Tendria que haber una sentencia para eliminar los registros basura de la tabla o no?

Gracias a todos!
  #2 (permalink)  
Antiguo 11/04/2011, 16:30
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Eliminar espacio vacio de Tabla

Cita:
Agradeceria que me expliquen porque pasa esto??? Tendria que haber una sentencia para eliminar los registros basura de la tabla o no?
Estás confundiendo una tabla de una base de datos con una tabla de Excel, y no es lo mismo. Ni siquiera se parecen a archivos de texto donde tu agregas algo al final y allí se queda.
En los motores de bases de datos el orden de los registros no está necesariamente definido por su orden de ingreso cronológico. Están definidos por su clave primaria, que es la que mantiene el orden físico de los registros en el disco. Por eso es tan importante establecer correctamente qué columna o columnas se usan como clave primaria. Si y sólo si la PK es tal que permita mantener el orden cronológico de entrada, esta se verá reflejada en una consulta simple.
Además de ello, el hecho de que la PK mantenga un orden definido en la tabla no implica que una consulta no pueda devolver los registros en un orden diferente, según se necesite. Por ello existe la cláusula ORDER BY, en el SELECT.
En definitiva, tu problema en realidad no existe. Lo que tienes en todo caso es un error de construcción de la tabla porque la misma no cuenta con una columna tal que pueda ser usada para mostrar los registros en un orden específico, o bien no estás usando correctamente el SQL para las consultas, ya que no estás haciendo que el DBMS te devuelva lo que necesitas de la forma en que lo necesitas.
Te conviene estudiar más profundamente el uso y capacidades básicas del SQL, y también algo más de bases de datos, para que comprendas mejor qué es lo que hace MySQL cuando creas una tabla y le insertas datos.
__________________
¿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 11/04/2011, 16:57
Avatar de leocente  
Fecha de Ingreso: diciembre-2009
Mensajes: 62
Antigüedad: 15 años
Puntos: 4
Respuesta: Eliminar espacio vacio de Tabla

Si puede ser, estoy aprendiendo hace menos de 1 mes, ya lei una web entera de myql pero me voy a seguir preparando.

Gracias por la respuesta y por el consejo!

Etiquetas: espacio, vacio, tablas
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 13:45.