jueves, 16 de enero de 2014


Tipo de columnas MySQL

Como ya se había dicho, una tabla es un conjunto de uno o más columnas. Cuando se crea una tabla con la sentencia CREATE TABLE, se especifica el tipo deseado para cada columna. Un TIPO DE COLUMNA es más específico que un TIPO DE DATO. El tipo de dato es una categoría general como "número"o "cadena". A un tipo de cadena le caracteriza precisamente la clase de valores que puede contener, como SMALLINT o VARCHAR(32).

            Los tipos de columna MySQL son los responsables de describir qué clase de valores quiere que contenga una columna, lo que determina a su vez la manera en que MySQL tratará dichos valores. Cada tipo de columna tiene varias características:

·                Qué clase de valores quiere almacenar.
·                Cuánto espacio ocupan los valores, si son de longitud fija o de longitud variable.
·                Cómo se clasifican o comparan los valores del tipo.
·                Si el tipo permite o no valores NULL
·                Si el tipo se puede indexar o no

Comprender los tipos de columna es muy importante para reducir el tamaño de la base de datos y aumentar su velocidad de los procesos.

MySQL proporciona tipos de columna para todas las categorías de valores de datos en general, excepto para el valor NULL.

Tipo de columna entera

Para números enteros (que no tienen parte fraccional), como 43, -1, 3, 0 o -789345, los formatos que MySQL puede manejar son:

Nombre del tipo            Significado                        Rango

TINYINT                        Entera muy pequeña            Con signo -128 a 127
                                    Requiere 1 byte                        Sin signo 0 a 255

SMALLINT                        Entera pequeña                        Con signo -32768 a 32767
                                    Requiere 2 bytes            Sin signo 0 a 65535

MEDIUNMINT                        Entera mediana                        Con signo -8388608 a 8388607
                                    Requiere 3 bytes            Sin signo 0 a 1677215

INT                                    Entera estándar                        Con signo -2147683648 a 2147483647
                                    Requiere 4 bytes            Sin signo 0 a 4,294,967,295

BIGINT                                    Entero muy grande            Con signo -9223372036854775808 a
                                    Requiere 8 bytes                            9223372036854775807
                                                                        Sin signo 0 a 18,446,744,073,709,551,615


Observe que el rango de los cinco tipos de enteros depende de si tiene o no signo (UNSIGNED), que es uno de los atributos. Un ATRIBUTO es una característica adicional a la columna. Para seleccionar algún tipo de columna necesitamos analizar el rango de nuestra información y seleccionar el tipo más pequeño que satisfaga ese rango, de lo contrario estaremos desperdiciando recursos de nuestra base de datos.

Por ejemplo, si tenemos un campo que almacenará la edad de una persona (entre 0 y 120 años) nos funciona perfectamente la columna tipo TINYINT. Si se utilizara para este campo un tipo de columna como INT (con 4 bytes), en realidad está desperdiciando 3 bytes. Si su base de datos es grande, por ejemplo, la población de un municipio con 100,000 habitantes, usted está desperdiciando en un solo campo 300,000 bytes.

Si usted intenta almacenar un campo mayor al rango del tipo de columna, el proceso marcará un error y solo cargará hasta el rango máximo, por ejemplo: Tiene un campo tipo TINYINT con signo, y almacena un valor como 500, solo se almacenará 127.

http://www.pacoarce.com
 

No hay comentarios:

Publicar un comentario