Tipos De Datos Mysql

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Tipos De Datos Mysql as PDF for free.

More details

  • Words: 1,320
  • Pages: 7
Tipos de datos Mysql MySQL soporta varios tipos de datos, que pueden ser agrupados en tres categorías: numéricos, fecha y hora, y cadenas (caracteres). En este artículo se presenta un breve resumen de estos tipos, se mencionan sus requerimientos de almacenamiento, y se hace una descripción más detallada de las propiedades de cada uno de ellos. Los tipos de datos soportados por MySQL son listados a continuación. Las siguientes convenciones son usadas en las descripciones: M - Indica el tamaño máximo que se puede desplegar (mostrar). El mayor valor legal es de 255. D - Aplica a los datos de punto flotante e indica el número de digitos que siguen al punto decimal. El valor máximo posible es de 30, pero no debe ser mayor de M-2. Los paréntesis cuadrados indican que un elemento es opcional. Se debe notar que cuando se especifica ZEROFILL para una columna, MySQL agregará automáticamente el atributo UNSIGNED.

Tipos numéricos: TINYINT[(M)] [UNSIGNED] [ZEROFILL] Un entero muy pequeño. Su rango es de -128 a 127. Para enteros sin signo el rango es de 0 a 255. BIT y BOOL Es un sinónimo para TINYINT(1).

SMALLINT[(M)] [UNSIGNED] [ZEROFILL] Un entero pequeño. Su rango es de -32768 a 32767. Para enteros sin signo el rango es de 0 a 65535. MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] Un entero de tamaño medio. Su rango es de -8388608 a 8388607. Para enteros sin signo el rango es de 0 a 16777215. INT[(M)] [UNSIGNED] [ZEROFILL] Un entero normal. Su rango es de -2147483648 a 2147483647. Para enteros sin signo el rango es de 0 a 4294967295. INTEGER[(M)] [UNSIGNED] [ZEROFILL] Es un sinónimo para INT. BIGINT[(M)] [UNSIGNED] [ZEROFILL] Es un entero grande. Su rango es de -9223372036854775808 a 9223372036854775807. Para enteros sin signo el rango es de 0 a 18446744073709551615. FLOAT(precisión) [UNSIGNED] [ZEROFILL] Un número de punto flotante. La precisión puede ser <=24 para un número de precisión sencilla y entre 25 y 53 para un número de doble precisión. Este tipo es como el FLOAT y DOUBLE que se describen a continuación. Un FLOAT(X) tiene el mismo rango que los correspondientes tipos FLOAT y DOUBLE, pero el tamaño de despliegue y el número de decimales no están definidos. FLOAT[(M,D)] [UNSIGNED] [ZEROFILL] Un número pequeño de punto flotante (o bien, de precisión sencilla). El rango de valores permitidos es de -3.402823466E+38 a -1.175494351E-38, 0, y de 1.175494351E-38 a 3.402823466E+38. Si se usa el modificador UNSIGNED, los valores negativos son deshabilitados. M es el tamaño de despliegue y D el número

de decimales. FLOAT sin argumentos o FLOAT(X) donde X<=24 se entiende como un número de punto flotante de precisión sencilla. DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL] Un número normal de punto flotante ( o bien, de precisión doble ). El rango de valores permitidos es de -1.7976931348623157E+308 a -2.2250738585072014E308, 0, y de 2.2250738585072014E-308 a 1.7976931348623157E+308. Si el modificador UNSIGNED es especificado, los valores negativos son deshabilitados. M es el tamaño de despliegue y D el número de decimales. DOUBLE sin argumentos o FLOAT(X) donde 25 <= X <= 53 se entiende por un número de punto flotante de doble precisión. DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL] REAL[(M,D)] [UNSIGNED] [ZEROFILL] Son sinónimos para DOUBLE. DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL] Un número de punto flotante sin empaquetar. Como en las columnas CHAR, "sin empaquetar" significa que el número es almacenado como una cadena con un caracter para cada digito del valor. El punto decimal, y para números negativos el signo - no son contados en M (sin embargo se les reserva espacio). Si D vale 0, los valores no tendrán punto decimal. El máximo rango de valores es el mismo que para DOUBLE, pero el rango para una columna DECIMAL puede ser restringido con la elección de valores en M y D. Si el atributo UNSIGNED es usado, los valores negativos son deshabilitados. Si D es omitido, el valor por default es 0. Si M es omitido el valor por default es 10. Decimal, Dec, Numeric: Número en coma flotante desempaquetado. El número se almacena como una cadena Tipo de Campo Tamaño de

Almacenamiento TINYINT

1 byte

SMALLINT

2 bytes

MEDIUMINT

3 bytes

INT

4 bytes

INTEGER

4 bytes

BIGINT

8 bytes

FLOAT(X)

4 ú 8 bytes

FLOAT

4 bytes

DOUBLE

8 bytes

DOUBLE PRECISION REAL

8 bytes 8 bytes M+2 bytes sí D >

DECIMAL(M,D 0, M+1 bytes sí D =0 M+2 bytes if D > NUMERIC(M,D) 0, M+1 bytes if D =0

Tipos de cadena: Char(n): almacena una cadena de longitud fija. La cadena podrá contener desde 0 a 255 caracteres. VarChar(n): almacena una cadena de longitud variable. La cadena podrá contener desde 0 a 255 caracteres. Dentro de los tipos de cadena se pueden distinguir otros dos subtipos, los tipo Test y los tipo BLOB (Binary large Object) La diferencia entre un tipo y otro es el tratamiento que reciben a la hora de realizar

ordenamientos y comparaciones. Mientras que el tipo test se ordena sin tener en cuenta las Mayúsculas y las minúsculas, el tipo BLOB se ordena teniéndolas en cuenta. Los tipos BLOB se utilizan para almacenar datos binarios como pueden ser ficheros. TinyText y TinyBlob: Columna con una longitud máxima de 255 caracteres. Blob y Text: un texto con un máximo de 65535 caracteres. MediumBlob y MediumText: un texto con un máximo de 16.777.215 caracteres. LongBlob y LongText: un texto con un máximo de caracteres 4.294.967.295. Hay que tener en cuenta que debido a los protocolos de comunicación los paquetes pueden tener un máximo de 16 Mb. Enum: campo que puede tener un único valor de una lista que se especifica. El tipo Enum acepta hasta 65535 valores distintos Set: un campo que puede contener ninguno, uno ó varios valores de una lista. La lista puede tener un máximo de 64 valores.

Tipo de campo

Tamaño de Almacenamiento

CHAR(n)

n bytes

VARCHAR(n)

n +1 bytes

TINYBLOB, TINYTEXT

Longitud+1 bytes

BLOB, TEXT

Longitud +2 bytes

MEDIUMBLOB, MEDIUMTEXT

Longitud +3 bytes

LONGBLOB, LONGTEXT Longitud +4 bytes

ENUM('value1','value2',...)

1 ó dos bytes dependiendo del número de valores 1, 2, 3, 4 ó 8 bytes,

SET('value1','value2',...)

dependiendo del número de valores

Diferencia de almacenamiento entre los tipos Char y VarChar Almace

CHAR(4)

''

''

4 bytes

"

1 byte

'ab'

'ab '

4 bytes

'ab'

3 bytes

'abcd'

'abcd'

4 bytes

'abcd'

'abcdefgh' 'abcd' Tipos fecha:

4 bytes

'abcd'

namiento

VARCHAR(4)

Almace

Valor

namiento

5 bytes

A la hora de almacenar fechas, hay que tener en cuenta que Mysql no comprueba de una manera estricta si una fecha es válida o no. Simplemente comprueba que el mes esta comprendido entre 0 y 12 y que el día esta comprendido entre 0 y 31. Date: tipo fecha, almacena una fecha. El rango de valores va desde el 1 de enero del 1001 al 31 de diciembre de 9999. El formato de almacenamiento es de añomes-dia DateTime: Combinación de fecha y hora. El rango de valores va desde el 1 de enero del 1001 a las 0 horas, 0 minutos y 0 segundos al 31 de diciembre del 9999 a las 23 horas, 59 minutos y 59 segundos. El formato de almacenamiento es de año-mes-dia horas:minutos:segundos TimeStamp: Combinación de fecha y hora. El rango va desde el 1 de enero de 1970 al año 2037. El formato de almacenamiento depende del tamaño del campo:

Tamaño Formato 14 12

AñoMesDiaHoraMinutoSegundo aaaammddhhmmss AñoMesDiaHoraMinutoSegundo aammddhhmmss

8

ñoMesDia aaaammdd

6

AñoMesDia aammdd

4

AñoMes aamm

2

Año aa

Time: almacena una hora. El rango de horas va desde -838 horas, 59 minutos y 59 segundos a 838, 59 minutos y 59 segundos. El formato de almacenamiento es de 'HH:MM:SS' Year: almacena un año. El rango de valores permitidos va desde el año 1901 al año 2155. El campo puede tener tamaño dos o tamaño 4 dependiendo de si queremos almacenar el año con dos o cuatro dígitos. Tipo de

Tamaño de

Campo

Almacenamiento

DATE

3 bytes

DATETIME

8 bytes

TIMESTAMP 4 bytes TIME

3 bytes

YEAR

1 byte

Related Documents

Tipos De Datos Haskell
November 2019 19
Guia 2 Tipos De Datos
July 2020 7
Tipos De Datos En Java
November 2019 19