Anda di halaman 1dari 8

TIPOS DE DATOS EN MYSQL

TIPOS NUMERICOS

BIT[(M)] En un tipo de datos bit. M indica el nmero de bits por valor, de 1 a 64. El valor por defecto es 1 si se omite M. Este tipo de datos se aadi en MySQL 5.0.3 para MyISAM, una extensin en 5.0.5 para MEMORY, InnoDB, y BDB. Antes de 5.0.3, BIT es un sinnimo de TINYINT(1).

TINYINT[(M)] [UNSIGNED] [ZEROFILL] Un entero muy pequeo. El rango con signo es de -128 a 127. El rango sin signo es de 0 a 255.

BOOL, BOOLEAN Son sinnimos para TINYINT(1). Un valor de cero se considera falso. Valores distintos a cero se consideran ciertos. En el futuro, se introducir tratamiento completo de tipos booleanos segn el estndar SQL.

SMALLINT[(M)] [UNSIGNED] [ZEROFILL] Un entero pequeo. El rango con signo es de -32768 a 32767. El rango sin signo es de 0 a 65535.

Lenguaje de Programacin II - Ing. Haybert Escobedo Neyra

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] Entero de tamao medio. El rango con signo es de -8388608 a 8388607. El rango sin singo es de 0 a 16777215.

INT[(M)] [UNSIGNED] [ZEROFILL] Un entero de tamao normal. El rango con signo es de -2147483648 a 2147483647. El rango sin signo es de 0 a 4294967295.

INTEGER[(M)] [UNSIGNED] [ZEROFILL] Es un sinnimo de INT.

BIGINT[(M)] [UNSIGNED] [ZEROFILL] Un entero grande. El rango con signo es de -9223372036854775808 a 9223372036854775807. El rango sin signo es de 0 a 18446744073709551615. Algunos aspectos a considerar con respecto a las columnas BIGINT :
o

Toda la aritmtica se hace usando valores BIGINT o DOUBLE, as que no debe usar enteros sin signos mayores que 9223372036854775807 (63 bits) excepto con funciones bit. Si lo hace, algunos de los ltimos dgitos en el resultado pueden ser errneos por culpa de errores de redondeo al convertir valores BIGINT a DOUBLE. MySQL 5.0 puede tratar BIGINT en los siguientes casos: Cuando usa enteros para almacenar valores grandes sin signo en una columna BIGINT . En MIN(col_name) o MAX(col_name), donde col_name se refiere a una columna BIGINT . Al usar operadores (+, -, *, y as) donde ambos operadores son enteros. Siempre puede guardar un valor entero exacto en un columna BIGINT almacenndolo usando una cadena de caracteres. En este caso, MySQL realiza una conversin cadena de caracteres-nmero que no implica representacin de doble precisin intermedia. Los operadores -, +, y * usan BIGINT en operaciones aritmticas cuando ambos operandos son valores enteros. Esto significa que si multiplica dos enteros grandes (o resultados de funciones que devuelven enteros), puede obtener resultados inesperados cuando el resultado es mayor que 9223372036854775807.

Lenguaje de Programacin II - Ing. Haybert Escobedo Neyra

FLOAT(p) [UNSIGNED] [ZEROFILL] Nmero con coma flotante. p representa la precisin. Puede ir de 0 a 24 para nmeros de coma flotante de precisin sencilla y de 25 a 53 para nmeros de coma flotante con doble precisin. Estos tipos son como los tipos FLOAT y DOUBLE descritos a continuacin. FLOAT(p) tiene le mismo rango que los tipos correspondientes FLOAT y DOUBLE, pero la anchura de muestra y el nmero de decimales no estn definidos. En MySQL 5.0, este es un valor de coma flotante autntico. Esta sintaxis se proporciona para compatibilidad con ODBC. Usar FLOAT puede darle algunos problemas inesperados ya que todos los clculos se en MySQL se hacen con doble precisin.

FLOAT[(M,D)] [UNSIGNED] [ZEROFILL] Un nmero de coma flotante pequeo (de precisin simple). Los valores permitidos son de -3.402823466E+38 a -1.175494351E-38, 0, y de 1.175494351E-38 a 3.402823466E+38. Si se especifica UNSIGNED, los valores negativos no se permiten. M es la anchura de muestra y D es el nmero de dgitos significativos. FLOAT sin argumentos o FLOAT(p) (donde p est en el rango de 0 a 24) es un nmero de coma flotante con precisin simple.

DOUBLE[(M,B)] [UNSIGNED] [ZEROFILL] Nmero de coma flotante de tamao normal (precisin doble). Los valores permitidos son de -1.7976931348623157E+308 a -2.2250738585072014E-308, 0, y de 2.2250738585072014E-308 a 1.7976931348623157E+308. Si se especifica UNSIGNED, no se permiten valores negativos. M es la anchura de muestra y B es el nmero de bits de precisin. DOUBLE sin parmetros o FLOAT(p) (donde p est en el rango de 25 a 53) es un nmero de coma flotante con doble precisin. Un nmero de coma flotante con precisin sencilla tiene una precisin de 7 decimales aproximadamente; un nmero con coma flotante de doble precisin tiene una precisin aproximada de 15 decimales.

DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL], REAL[(M,D)] [UNSIGNED] [ZEROFILL] Son sinnimos de DOUBLE. Excepcin: Si el modo del servidor SQL incluye la opcin REAL_AS_FLOAT, REAL es un sinnimo para FLOAT en lugar de DOUBLE.

Lenguaje de Programacin II - Ing. Haybert Escobedo Neyra

DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL] A partir de MySQL 5.0.3: Nmero de punto fijo exacto y empaquetado. M es el nmero total de dgitos y D es el nmero de decimales. El punto decimal y (para nmeros negativos) el signo '-' no se tiene en cuenta en M. Si D es 0, los valores no tienen punto decimal o parte fraccional. El mximo nmero de dgitos (M) para DECIMAL es 64. El mximo nmero de decimales soportados (D) es 30. Si UNSIGNED se especifica, no se permiten valores negativos. Si se omite D, el valor por defecto es 0. Si se omite M, el valor por defecto es 10. Todos los clculos bsicos (+, -, *, /) con columnas DECIMAL se hacen con precisin de 64 dgitos decimales. Antes de MySQL 5.0.3: Nmero de punto decimal fijo sin empaquetar. Se comporta como una columna CHAR ; "sin empaquetar" significa que el nmero se alacena como una cadena de caracteres, usando un carcter para cada dgito del valor. M es el nmero total de dgitos y D es el nmero de decimales. El punto decimal y (para nmeros negativos) el signo '-' no se cuenta en M, aunque se reserva espacio para l. Si D es 0, los valores no tienen punto decimal ni parte fraccional. El mximo rango de los valores DECIMAL es el mismo que para DOUBLE, pero el rango real para una columna DECIMAL dada puede estar restringido por la eleccin de M y D. Si se especifica UNSIGNED no se permiten nmeros negativos. Si se omite D, el valor por defecto es 0. Si se omite M, el valor por defecto es 10.

DEC[(M[,D])] [UNSIGNED] [ZEROFILL], NUMERIC[(M[,D])] [ZEROFILL], FIXED[(M[,D])] [UNSIGNED] [ZEROFILL]

[UNSIGNED]

Son sinnimos para DECIMAL. El sinnimo FIXED est disponible por compatibilidad con otros servidores.

Lenguaje de Programacin II - Ing. Haybert Escobedo Neyra

TIPOS FECHA Y HORA

DATE Una fecha. El rango soportado es de '1000-01-01' a '9999-12-31'. MySQL muestra valores DATE en formato 'YYYY-MM-DD', pero permite asignar valores a columnas DATE usando cadenas de caracteres o nmeros.

DATETIME Combinacin de fecha y hora. El rango soportado es de '1000-01-01 00:00:00' a '9999-12-31 23:59:59'. MySQL muestra valores DATETIME en formato 'YYYY-MM-DD HH:MM:SS', pero permite asignar valores a las columnas DATETIME usando cadenas de caracteres o nmeros.

TIMESTAMP[(M)] Una marca temporal. El rango es de '1970-01-01 00:00:00' hasta el ao 2037. Una columna TIMESTAMP es til para registrar la fecha y hora de una operacin INSERT o UPDATE . La primera columna TIMESTAMP en una tabla se rellena automticamente con la fecha y hora de la operacin ms reciente si no le asigna un valor. Puede asignar a cualquier columna TIMESTAMP la fecha y hora actual asignndole un valor NULL . En MySQL 5.0, TIMESTAMP se retorna como una cadena de caracteres en el formato 'YYYY-MM-DD HH:MM:SS' cuya anchura de muestra son 19 caracteres. Si quiere obtener el valor como un nmero, debe aadir +0 a la columna timestamp.

TIME Una hora. El rango es de '-838:59:59' a '838:59:59'. MySQL muestra los valores TIME en formato 'HH:MM:SS', pero permite asignar valores a columnas TIME usando nmeros o cadenas de caracteres.

YEAR[(2|4)] Un ao en formato de dos o cuatro dgitos. El valor por defecto est en formato de cuatro dgitos. En formato de cuatro dgitos, los valores permitidos son de 1901 a 2155, y 0000. En formato de dos dgitos, los valores permitidos son de 70 a 69, representando los aos de 1970 a 2069. MySQL muestra los valores YEAR en formato YYYY pero permite asignar valores a columnas YEAR usando cadenas de caracteres o nmeros.

Lenguaje de Programacin II - Ing. Haybert Escobedo Neyra

TIPO CADENA

CHAR Es un sinnimo de CHAR(1).

[NATIONAL] VARCHAR(M) [BINARY] Cadena de caracteres de longitud variable. M representa la longitud de columna mxima. En MySQL 5.0, el rango de M es de 0 a 255 antes de MySQL 5.0.3, y de 0 a 65,535 en MySQL 5.0.3 y posterior. (La longitud mxima real de un VARCHAR en MySQL 5.0 se determina por el tamao de registro mximo y el conjunto de caracteres que use. La longitud mxima efectiva desde MySQL 5.0.3 es de 65,532 bytes.) Nota: Antes de 5.0.3, los espacios finales se eliminaban cuando se almacenaban los valores VARCHAR, lo que difiere de le especificacin estndar de SQL. Previo a MySQL 5.0.3, una columna VARCHAR con una longitud especificada mayor a 255 se converta al valor de tipo TEXT ms pequeo que poda soportar el valor de la longitu dada. Por ejemplo, VARCHAR(500) se converta a TEXT, y VARCHAR(200000) se converta a MEDIUMTEXT. Esto era una cuestin de compatibilidad. Sin embargo, esta conversin afectaba la eliminacin de espacios finales. VARCHAR es la abreviacin de CHARACTER VARYING. En MySQL 5.0, el atributo BINARY es abreviatura para especificar la colacin binaria del conjunto de caracteres de la columna. La ordenacin y la comparacin se basa en los valores numricos de los caracteres. Desde MySQL 5.0.3, VARCHAR se guarda con un prefijo de longitud de uno o dos bytes + datos. La longitud del prefijo es de dos bytes si la columna VARCHAR se declara con una longitud mayor a 255.

BINARY(M) El tipo BINARY es similar al tipo CHAR, pero almacena cadenas de datos binarios en lugar de cadenas de caracteres no binarias.

VARBINARY(M) El tipo VARBINARY es similar al tipo VARCHAR, pero almacena cadenas de caracteres binarias en lugar de cadenas de caracteres no binarias.

Lenguaje de Programacin II - Ing. Haybert Escobedo Neyra

TINYBLOB Una columna BLOB con una longitud mxima de 255 (2^8 - 1) bytes.

TINYTEXT Una columna TEXT con longitud mxima de 255 (2^8 - 1) caracteres.

BLOB[(M)] Una columna BLOB con longitud mxima de 65,535 (2^16 - 1) bytes. Una longitud opcional M puede darse para este tipo en MySQL 5.0. Si se hace, MySQL crear las columnas como el tipo BLOB de tamao mnimo para tratar los valores de M bytes.

TEXT[(M)] Una columna TEXT con longitud mxima de 65,535 (2^16 - 1) caracteres. En MySQL 5.0, se puede dar una longitud opcional M . En ese caso MySQL crear las columnas con el tipo TEXT de longitud mnima para almacenar los valors de longitud M .

MEDIUMBLOB Una columna BLOB con longitud de 16,777,215 (2^24 - 1) bytes.

MEDIUMTEXT Una columna TEXT con longitud mxima de 16,777,215 (2^24 - 1) caracteres.

LONGBLOB Una columna BLOB con longitud mxima de 4,294,967,295 o 4GB (2^32 - 1) bytes. La longitud mxima efectiva (permitida) de las columnas LONGBLOB depende del tamao mximo configurado para los paquetes en el protocolo cliente/servidor y la memoria disponible.

LONGTEXT Una columna TEXT con longitud mxima de 4,294,967,295 or 4GB (2^32 - 1) caracteres. La longitud mxima efectiva (permitida) de columnas LONGTEXT depende del tamao mximo de paquete configurado en el protocolo cliente/servidor y la memoria disponible.

Lenguaje de Programacin II - Ing. Haybert Escobedo Neyra

ENUM('value1','value2',...) Una enumeracin. Un objeto de cadena de caracteres que slo puede tener un valor, elegido de una lista de valores 'value1', 'value2', ..., NULL o el valor de error especial '' . Una columna ENUM puede tener un mximo de 65,535 valores distintos. Los valores ENUM se representan internamente como enteros.

SET('value1','value2',...) Un conjunto. Un objeto de cadena de caracteres que puede tener cero o ms valores que deben pertenecer a la lista de valores 'value1', 'value2', ... Una columna SET puede tener un mximo de 64 miembros. Los valores SET se representan internamente como enteros.

Lenguaje de Programacin II - Ing. Haybert Escobedo Neyra

Anda mungkin juga menyukai