Columnas y Datos MySQL

Tipos de columnas y tipos de datos en MySQL

Los tipos de columna en MySQL son definidos al crear la tabla y especifican que tipo de dato contiene cada columna de dicha tabla. MySQL ofrece tipos de columnas que permiten manejar cualquier tipo de dato. Seleccionar el tipo de columna idónea, influye en el uso de recursos y el tiempo de respuesta, determinante en bases de datos que manejan gran cantidad de datos.

TIPOS DE COLUMNA

ENTERO (Para definir que no tiene signo es necesario añadir el atributo UNSIGNED)
  • TINYINT : 1 byte, de 0 a 255 (con signo de -128 a 127)
  • SMALLINT: 2 bytes, de 0 a 65535 (con signo de -32768 a 32767)
  • MEDIUNMINT: 3 bytes, de 0 a 1677215 (con signo de -8388608 a 8388607)
  • INT: 4 bytes, de 0 a 4.294.967.295 (con signo de -2.147.683.648 a 2.147683647)
  • BIGINT: 8 bytes, de 0 a 18.446.744.073.709.551.615 (con signo de -9223372036854775808 a 9223372036854775807)

Nota: El atributo ZEROFILL rellena la parte izquierda en 0.

DECIMAL (Siempre pueden ser positivos y negativos)

  • FLOAT: 4 bytes, +-1.175494351E-38
  • DOUBLE: 8 bytes, +-2.2250738585072014E-308
  • DECIMAL (M,D): M + 2 bytes 

Ejemplo de decimal:

  • DECIMAL(4,1) [4 enteros y 1 decimal] :  -999.9 a 9999.9
  • DECIMAL(5,1) [5 enteros y 1 decimal]: -9999.9 a 99999.9
  • DECIMAL(6,2) [6 enteros y 2 decimales]: -9999.99 a 99999.99

CADENA

  • CHAR(M) : M bytes
  • VARCHAR(M): M + 1 bytes
  • TINYLOB(M): M + 1 bytes (máx: 255bytes)
  • TINYTEXT(M): M + 1 bytes (máx: 255bytes)
  • BLOB,TEXT(M): M+2 bytes (máx: 65535bytes)
  • MEDIUMBLOB(M): M + 3 bytes (máx: 16 megas)
  • MEDIUMTEXT(M): M +3 bytes (máx: 16 megas)
  • LONGBLOB(M): M +4 bytes (máx: 16 megas)
  • LONGTEXT(M): M + 4 bytes (máx: 16 megas)
  • ENUM: Enumeraciónes, solo pueden ser un valor de una lista definida.
  • SET: Conjuntos, pueden tener uno o varios valores.

ENUM y SET no se encuentran en otras bases de datos así que puede haber incompatibiliades a la hora de trasladar.

CHAR y VARCHAR son las más utilizadas. CHAR tiene una longitud fija mientras que VARCHAR tiene una longitud variable. Si el campo que necesitamos no va a variar de longitud de forma considerable siempre es recomendable usar CHAR ya que ahorra un byte y la respuesta es más rápida.

Nota: Si una tabla contiene campos CHAR y VARCHAR todos los campos CHAR con longitud mayor a 4 se convierten en VARCHAR. 

FECHA Y HORA

  • DATE: 3 bytes. Formato: YYYY-MM-DD (de 1000-01-01 a 9999-12-31)
  • TIME: 3 bytes. Formato HH::MM::SS (de -838:59:59 a 838:59:59
  • DATETIME: 8 bytes. Formato: YYYY-MM-DD hh:mm:ss (de 1000-01-01 00:00:00 a 9999-12-31 23:59:59)
  • TIMESTAMP: 4 bytes. Formato: YYYYMMDDhhmmss
  • YEAR: 1 byte Formato: YYYY

Nota: Si se introduce un valor incorrecto MySQL lo convierte a ceros.

TIPOS DE DATOS DE UN CAMPO EN MYSQL

INTEGER: Número entero con rango de -2.147.483.648 y 2.147.483.647

VARCHAR: Cadena con un máximo de 255 caracteres y longitud variable que se pasa por parámetro.

TEXT: Campo de texto con un máximo de 65.535 caracteres.

MEDIUMTEXT: Campo de texto con un máximo de 16.777.215 caracteres.

DATETIME: Fecha con formato YYYDDMMHHMMSS

TIMESTAMP: Fecha actual con formato YYYYDDMMHHMMSS

Cada campo puede tener uno o más atributos:

NULL/NOT NULL: Indica si el campo puede ser vacío o nulo (NULL) o no puede ser vacío o nulo(NOT NULL)

DEFAULT: Indica el dato por defecto en caso de venir vacío.

AUTO INCREMENT: Se asigna la suma de uno al valor más alto de ese campo que ya exista en la tabla.

PRIMARY KEY: Es la llave principal de la tabla, no permite asignar valores duplicados o nulos. Es recomendable disponer de una primary key por lo menos en cada tabla.

Comentarios: 0

Para poder comentar es necesario iniciar sesión



Este dominio utiliza cookies de terceros para crear estadísticas y publicidad personalizada. Si continúa navegando está aceptando su uso