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

tipo bit en mysql

Estas en el tema de tipo bit en mysql en el foro de Mysql en Foros del Web. Vi este tipo de dato en mysql y bueno vi que resive un parametro que es un numero del 1 al 64 Lo que quiere ...
  #1 (permalink)  
Antiguo 04/09/2012, 19:29
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
tipo bit en mysql

Vi este tipo de dato en mysql y bueno vi que resive un parametro que es un numero del 1 al 64

Lo que quiere decir que

8 bits = 1 byte (tinyint)

16 bits = 2 byte(smallint)

24bits = 3 bytes(mediumint)

32 bits = 4 bytes(int)

64 bits = 8 bytes(bigint)

Es correcto esto?

Osea que es un "todo en uno"

Ojala me lo puedan aclarar

Gracias
  #2 (permalink)  
Antiguo 04/09/2012, 20:04
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: tipo bit en mysql

Mucho no se entiende tu pregunta.
En cuanto al tipo BIT, lo mejor es siempre leer el manual de referencia:
Cita:
En MySQL 5.0.3, un tipo de datos BIT está disponible para almacenar valores de un bit. (Antes de 5.0.3, MySQL interpreta BIT como TINYINT(1).) En MySQL 5.0.3, BIT lo soporta sólo tablas MyISAM. MySQL 5.0.5 extiende soporte de BIT para MEMORY, InnoDB, y BDB.
Podemos agregar:
Cita:
- BIT[(M)]
En un tipo de datos bit. M indica el número de bits por valor, de 1 a 64. El valor por defecto es 1 si se omite M .
Este tipo de datos se añadió en MySQL 5.0.3 para MyISAM, una extensión en 5.0.5 para MEMORY, InnoDB, y BDB. Antes de 5.0.3, BIT es un sinónimo de TINYINT(1).
Y también:
Cita:
Desde MySQL 5.0.3, el tipo de datos BIT puede usarse para guardar valores de un bit. Un tipo BIT(M) permite el almacenamiento de valores de M-bit . M tiene un rango de 1 a 64.

Para especificar valores bit, puede usar la notación b'value' . value es un valor binario escrito usando ceros y unos. Por ejemplo, b'111' y b'100000000' representan 7 y 128, respectivamente. Consulte Sección 9.1.5, “Valores de bits”.

Si asigna un valor a una columna BIT(M) con menos de M bits , el valor se alinea a la izquierda con ceros. Por ejemplo, asignar un valor b'101' a una columna BIT(6) es, en efecto, lo mismo que asignar b'000101'.
Es decir, en principio es para almacenar valores de enteros en formato binario, pero no implica nada de "todo en uno" o lo que eso signifique.

¿Cuál es en realidad tu duda?
__________________
¿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 05/09/2012, 12:28
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
Respuesta: tipo bit en mysql

Meramente quiero saber para que casos me puede servir este tipo, y caracteristicas por ejemplo

cuantos numeros le caben, si admite negativos.

Si he estado leyendo el manual pero pues dice que puede guardar de 1 a 64 bits osea algo como de 1 a 8 bytes.
De aqui es donde saco los tipos tinyint,etc.

Gracias por la respuesta
  #4 (permalink)  
Antiguo 05/09/2012, 12:36
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: tipo bit en mysql

Cita:
De aqui es donde saco los tipos tinyint,etc.
No exactamente. El tipo BIT es un tipo específico, que se usa sólo como valor binario. No tiene utilidad fuera de eso, y no, no tiene negativos, porque los negativos dependen del sistema de representación elegido.
El rango de 1 a 64 es producto del ancho de la palabra en los sistemas. Representa la maxima cantidad de bits que pueden ser interpretados en una sola palabra (desde la definición de palabra en sistemas operativos).
Hablando desde el punto de vista estricto, los binarios no poseen negativos, como tampoco los hexadecimales los poseen. En estos casos el valor negativo o positivo es una convención, no una propiedad natural.

Estos temas están un poco más en lso fundamentos de los sistemas digitales, más que en lo que a BBDD se refiere.
Si quieres profundizarlos hay mucha literatura técnica del tema..
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: sql, tipo
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 01:45.