Está en la página 1de 14

Tema 2: Identificar Tipos de Datos

Una vez que se ha creado una base de datos, se crearn las tablas que guardarn los datos dentro de la base de datos. Para crear estas tablas, sin embargo, se deben definir previamente los tipos de datos que sern definidos para cada columna. Un tipo de dato es un atributo que especifica como sern los datos que pueden ser almacenados en una columna, parmetro, o variable. SQL Server provee de un conjunto de tipos de datos predefinidos. Adems, se pueden crear tipos de datos definidos por el usuario, este punto intentar explicar como identificar que tipos de datos se deben emplear cuando se define una columna. Tipos de datos provistos por el sistema En SQL Server cada columna tiene un tipo de dato definido, el cual es un atributo que especifica como sern los datos que pueden guardarse en esa columna (nmeros enteros, caracteres, valores monetarios, fechas, etc.). Otras objetos, adems de las columnas, tienen tambin asociados tipos de datos, los objetos que tienen asociados tipos de datos son: Columnas en tablas y vistas Parmetros de procedimientos almacenados Variables Funciones Transact-SQL que retornan uno o mas valores de un tipo especfico de dato. Procedimientos almacenados que tienen un cdigo return (el cual siempre es un valor entero)

Asignar tipos de datos a cada columna es uno de los primeros pasos que se dan en el diseo de una base de datos. SQL Server provee un conjunto de tipos de datos predefinidos por el sistema. Los tipos de datos se pueden utilizar para asegurar la integridad de los datos, dado que un dato para ser grabado o modificado deber ajustarse al tipo de dato especificado para la columna a la que pertenece, segn fue establecido en comando original CREATE TABLE. Por ejemplo, no se puede grabar el apellido de alguien en una columna definida como tipo de dato fecha y hora (datetime), dado que esta columna solo aceptar datos de fechas y horas. El asignar un tipo de dato a un objeto define cuatro atributos del objeto: El tipo de dato contenido por el objeto. Por ejemplo, el dato podra ser carcter, entero o binario. La longitud o el tamao del valor almacenado. Las longitudes de los tipos image (imgenes), binary (binarios) y varbinary ( binarios de longitud variable) son definidos en bytes. La longitud de cualquiera de los tipos numricos de datos es

el nmero de bytes necesarios para representar el nmero de dgitos mximo permitido para ese tipo de dato. Las longitudes para los tipos de datos string (cadena de caracteres) y Unicode son definidos en caracteres. La precisin de los nmeros (solamente tipos de datos numricos). La precisin es la cantidad de dgitos que el nmero puede tener. Por ejemplo un objeto smallint (entero pequeo) puede tener un mximo de cinco dgitos, por lo que tiene una precisin de cinco. La escala de un nmero (solamente tipos de datos numricos). La escala de un nmero es la cantidad de dgitos que puede tener a la derecha de la coma decimal. Por ejemplo, un objeto int (entero) no puede aceptar dgitos decimales, por lo que su escala es de cero. Un valor monetario puede tener un mximo de cuatro dgitos decimales y su escala es de cuatro.

La tabla siguiente provee la descripcin de las categoras de tipos de datos que SQL Server soporta y las descripciones de los tipos de datos base que cada categora contiene:

Categora

Descripcin

Tipo de Dato Base

Descripcin

Binary

Un dato Binary almacena cadenas de bits. El dato consiste de nmeros hexadecimales. Por binary ejemplo, el nmero decimal 245 vale en hexadecimal F5. varbinary

Los datos deben tener la misma longitud fija (hasta 8 KB) Los datos pueden variar en el nmero de dgitos hexadecimales (hasta 8 KB) Los datos pueden ser de longitud variable y exceder los 8 KB.

image Los datos Character consisten de cualquier combinacin de letras, smbolos, y caracteres Characte numricos. Por ejemplo, char r datos character vlidos:"John928" "(0*&(%B99n h jkJ" varchar

Los datos deben tener la misma longitud fija (hasta 8 KB)

Los datos pueden variar en el nmero de caracteres (hasta 8 KB) Los datos pueden ser cadena de caracteres ASCII que excedan los 8 KB. Los datos fecha estn comprendidos entre en el 1 de Enero de 1753 hasta el 31 de diciembre de 9999 (requiere 8 bytes por dato).

text Los datos Date time consisten de combinaciones de fechas o horas vlidas. No existe tipos de datos datetime separados para fechas y horas para almacenar solo fechas o

Date time

Categora

Descripcin

Tipo de Dato Base

Descripcin

solo horas Los datos fecha estn comprendidos entre en el 1 smalldatetime de Enero de 1900 hasta el 31 de diciembre de 2079 (requiere 4 bytes por dato). Los datos pueden tener un mximo de 30 dgitos, que pueden estar todos a la derecha de la coma decimal. El tipo de dato almacena un representacin exacta del nmero. En SQL Server, el tipo de datos numeric es equivalente al tipo de datos decimal. Desde 1.79E + 308 a 1.79E + 308. Desde 3.40E + 38 a 3.40E + 38. Desde 2^63 ( 9223372036854775808) a 2^631 (9223372036854775807). Tamao 8 bytes. Desde 2.147.483.648 a 2.147.483.647 (requiere de 4 bytes por valor). Desde 32,768 a 32.767 (requiere de 2 bytes por valor). Desde cero a 255 (requiere de 1 bytes por valor). Desde 922.337.203.685.477,5808 a +922.337.203.685.477,580 7 Tamao 8 bytes. Desde 214.748,3648 a 214.748,3647 Tamao 4 bytes. Consisten en un 1 o un 0. Se usan para representar

Decimal

Los datos Decimal consisten de datos numricos que son almacenados al menor dgito significativo

decimal

numeric Datos numricos aproximados que consisten de datos con una aproximacin tanto como el sistema de numeracin binaria pueda ofrecer

Floating point

float

real Los datos Integer consisten de nmeros enteros positivos y bigint negativos tales como: 15, 0, 5, y 2.509. int

Integer

smallint tinyint

Monetary

Monetary representa montos de dinero positivos o negativos

money

smallmoney Special Special se utiliza para datos que bit caben en ninguna de las

Categora

Descripcin

Tipo de Dato Base

Descripcin

categors anteriores.

valores lgicos VERDADERO o FALSO, SI o NO Este tipo de dato es usado para variables o prmetros OUTPUT en procedimientos almacenados que contenga una referencia a un cursor. Cualquier variable creada con el tipo de datos cursor puede tomar valor nulo Este tipo de datos es usado para indicar la secuencia de la actividad del SQL Server sobre una fila y es representado por un nmero incremental en formato binario.

cursor

timestamp

Consiste de nmeros hexadecimales de 16 byte, indicando un identificador uniqueidentifie nico global (GUID). Los r GUID son usados cuando una columna deba ser nica frente a cualquier otra columna. Este tipo de datos soporta a cualquier otro tipo de datos soportado por SQL Server excepto text, ntext, timestamp, image, y sql_variant. Es utilizado para almacenar un conjunto de resultados para su posterior procesamiento. El tipo de datos Table puede ser usado nicamente para para definir variable locales de tipo table o para retornar valores de una funcin definida por el usuario.

SQL_variant

table

Unicode

Al usar tipo de datos Unicode, una columna puede almacenar cualquier cualquier caracter definido por el estndar Unicode. nchar Lo cual incluye a todos los caracteres definidos en los distintos conjuntos de

Los datos deben tener la misma longitud fija (hasta 4000 caracteres Unicode)

Categora

Descripcin

Tipo de Dato Base

Descripcin

caracteres. Los tipos de datos Unicode toman el doble de espacio de almacenamiento que los tipos no-Unicode. nvarchar Los datos pueden variar en el nmero de caracteres (hasta 4000 caracteres Unicode) Los datos pueden exceder los 4000 caracteres Unicode.

ntext

Todos los datos almacenados en el SQL Server deben ser compatibles con uno de estos tipos de datos base. El tipo de dato cursor es el nico tipo dedatos base que no puede ser asignado a una columna de una tabla. Se puede usar este tipo de dato solamente para variables y para parmetros de procedimientos almacenados. Varios tipos de datos base tienen sinnimos (por ejemplo, rowversion es sinnimo de timestamp, y varying es sinnimo de nvarchar). Tipos de datos definidos por el usuario Los tipos de datos definidos por el usuario estn basados en tipos predefinidos por el sistema en SQL Server 2000. Los tipos de datos definidos por el usuario pueden ser usados en varias tablas que deban guardar el mismo tipo de dato en una columna y cuando se necesita asegurar que estas columnas tengan exactamente el mismo tipo de dato, longitud y capacidad de aceptar nulos. Por ejemplo, un tipo de datos definido por el usuario llamado codigo_postal podra ser creado en base al tipo char. Cuando se crea un tipo de dato definido por el usuario, se deben proveer los siguientes parmetros: Nombre Tipo de datos del sistema sobre el que se basa el nuevo tipo de dato Anulabilidad (si el tipo de dato permite valores nulos).

Cuando la anulabilidad no es explcitamente definida, se toma por defecto la configuracin de nulos ANSI para la base de datos o conexin. Si un tipo de datos definido por el usuario es creado en la base de datos Model el tipo de datos estar disponible para todas las nuevas bases de datos que se creen. Si el

tipo de datos es creado en una base de datos definida por el usuario el tipo de datos slo estar disponible para dicha base de datos. Se pueden crear tipos de datos definidos por el usuario utilizando el procedimiento almacenado sp_addtype o utilizando el Enterprise Manager.

TIPOS DE DATOS EN ORACLE Os mostramos los tipos de datos / datatypes disponibles en Oracle para seleccionar el tipo de registro de una tabla Oracle. Tamibn indicamos sus caractersticas (tamao mximo, peculiaridades, etc). Es importante conocer los tipos de datos disponibles en un Sistema Gestor de Base de Datos (SGBD), de esta forma podremos obtimizar al mximo el uso de recursos de nuestras aplicaciones. A continuacin os indicamos todos los tipos de datos de Oracle y sus caractersticas bsicas: TIPO CARACTERISTICAS Cadena de caracteres (alfanumricos) de longitud fija OBSERVACIONES Entre 1 y 2000 bytes como mximo. Aunque se introduzca un valor ms corto que el indicado en el tamao, se rellenar al tamao indicado. Es de longitud fija, siempre ocupar lo mismo, independientemente del valor que contenga

CHAR

VARCHAR2 VARCHAR

Cadena de caracteres de longitud Entre 1 y 4000 bytes como mximo. El tamao del campo variable depender del valor que contenga, es de longitud variable. Cadena de caracteres de longitud En desuso, se utiliza VARCHAR2 en su lugar variable Entre 1 y 2000 bytes como mximo. El juego de Cadena de caracteres de longitud caracteres del tipo de datos (datatype) NCHAR slo puede fija que slo almacena caracteres ser AL16UTF16 UTF8. El juego de caracteres se Unicode especifica cuando se crea la base de datos Oracle Entre 1 y 4000 bytes como mximo. El juego de Cadena de caracteres de longitud caracteres del tipo de datos (datatype) NCHAR slo puede variable que slo almacena ser AL16UTF16 UTF8. El juego de caracteres se caracteres Unicode especifica cuando se crea la base de datos Oracle Como mximo admite hasta 2 GB (2000 MB). Los datos LONG debern ser convertidos apropiadamente al moverse entre diversos sistemas. Cadena de caracteres de longitud Este tipo de datos est obsoleto (en desuso), en su lugar se utilizan los datos de tipo LOB (CLOB,NCLOB). Oracle variable recomienda que se convierta el tipo de datos LONG a alguno LOB si an se est utilizando. No se puede utilizar en clasulas WHERE, GROUP BY,

NCHAR

NVARCHAR2

LONG

ORDER BY, CONNECT BY ni DISTINCT Una tabla slo puede contener una columna de tipo LONG. Slo soporta acceso secuencial. LONG RAW Almacenan cadenas binarias de ancho variable Almacenan cadenas binarias de ancho variable Hasta 2 GB. En desuso, se sustituye por los tipos LOB. Hasta 32767 bytes. En desuso, se sustituye por los tipos LOB. Admiten hasta 8 terabytes (8000 GB). LOB (BLOG, CLOB, NCLOB, BFILE) Permiten almacenar y manipular bloques grandes de datos no estructurados (tales como texto, imgenes, videos, sonidos, etc) en formato binario o del carcter Una tabla puede contener varias columnas de tipo LOB. Soportan acceso aleatorio. Las tablas con columnas de tipo LOB no pueden ser replicadas. BLOB CLOB Permite almacenar datos binarios Admiten hasta 8 terabytes no estructurados Almacena datos de tipo carcter Admiten hasta 8 terabytes Admiten hasta 8 terabytes. NCLOB Almacena datos de tipo carcter Guarda los datos segn el juego de caracteres Unicode nacional. Admiten hasta 8 terabytes. El administrador de la base de datos debe asegurarse de que exista el archivo en disco y de que los procesos de Oracle tengan permisos de lectura para el archivo .

RAW

BFILE

Almacena datos binarios no estructurados en archivos del sistema operativo, fuera de la base de datos. Una columna BFILE almacena un localizador del archivo a uno externo que contiene los datos

ROWID fsico almacena la direccin de fila en las tablas, las tablas en clster, los ndices, excepto en las ndicesorganizados (IOT). ROWID lgico almacena la direccin de fila en tablas de ndice-organizado (IOT). Un ejemplo del valor de un campo ROWID podra ser: "AAAIugAAJAAC4AhAAI". El formato es el siguiente: Almacenar la direccin nica de Para "OOOOOOFFFBBBBBBRRR", donde: cada fila de la tabla de la base de datos OOOOOO: segmento de la base de datos (AAAIug en el ejemplo). Todos los objetos que estn en el mismo esquema y en el mismo segmento tendrn el mismo valor. FFF: el nmero de fichero del tablespace relativo que contiene la fila (fichero AAJ en el ejemplo). BBBBBB: el bloque de datos que contiene a la fila (bloque AAC4Ah en el ejemplo). El nmero de bloque es relativo a su fichero de datos, no al tablespace. Por lo tanto, dos filas con nmeros de bloque iguales podran residir en

ROWID

diferentes datafiles del mismo tablespace. RRR: el nmero de fila en el bloque (fila AAI en el ejemplo). Este tipo de campo no aparece en los SELECT ni se puede modificar en los UPDATE, ni en los INSERT. Tampoco se puede utilizar en los CREATE. Es un tipo de datos utilizado exclusivamente por Oracle. Slo se puede ver su valor utilizando la palabra reservada ROWID, por ejemplo: select rowid, nombre, apellidos from clientes Ejemplo 2: SELECT ROWID, SUBSTR(ROWID,15,4) "Fichero", SUBSTR(ROWID,1,8) "Bloque", SUBSTR(ROWID,10,4) "Fila" FROM proveedores Ejemplo 3: una forma de saber en cuntos ficheros de datos est alojada una tabla: SELECT COUNT(DISTINCT(SUBSTR(ROWID,7,3))) "Numero ficheros " FROM facturacion UROWID ROWID universal Admite ROWID a tablas que no sean de Oracle, tablas externas. Admite tanto ROWID lgicos como fsicos. Se admiten hasta 38 dgitos de precisin y son portables a cualquier entre los diversos sistemas en que funcione Oracle. Para declarar un tipo de datos NUMBER en un CREATE UPDATE es suficiente con: nombre_columna NUMBER opcionalmente se le puede indicar la precisin (nmero total de dgitos) y la escala (nmero de dgitos a la derecha de la coma, decimales, los coger de la precisin indicada): NUMBER Almacena nmeros fijos y en punto flotante nombre_columna NUMBER (precision, escala) Si no se indica la precisin se tomar en funcin del nmero a guardar, si no se indica la escala se tomar escala cero. Para no indicar la precisin y s la escala podemos utilizar: nombre_columna NUMBER (*, escala) Para introducir nmeros que no estn el el formato estndar de Oracle se puede utilizar la funcin TO_NUMBER. FLOAT Almacena tipos de datos numricos en punto flotante Es un tipo NUMBER que slo almacena nmeros en punto flotante El tipo de datos DATE almacena el ao (incluyendo el siglo), el mes, el da, las horas, los minutos y los segundos (despus de medianoche). Oracle utiliza su propio formato interno para almacenar

DATE

Almacena un punto en el tiempo (fecha y hora)

fechas. Los tipos de datos DATE se almacenan en campos de longitud fija de siete octetos cada uno, correspondiendo al siglo, ao, mes, da, hora, minuto, y al segundo. Para entrada/salida de fechas, Oracle utiliza por defecto el formato DD-MMM-AA. Para cambiar este formato de fecha por defecto se utiliza el parmetro NLS_DATE_FORMAT. Para insertar fechas que no estn en el mismo formato de fecha estndar de Oracle, se puede utilizar la funcin TO_DATE con una mscara del formato: TO_DATE (el 13 de noviembre de 1992, DD del MES, YYYY)

TIMESTAMP TIMESTAMP WITH TIME ZONE TIMESTAMP WITH LOCAL TIME ZONE XMLType

Almacena datos de tipo hora, fraccionando los segundos Almacena datos de tipo hora incluyendo la zona horaria (explcita), fraccionando los segundos Almacena datos de tipo hora incluyendo la zona horaria local (relativa), franccionando los segundos Tipo de datos abstracto. En realidad se trata de un CLOB. Cuando se usa un SELECT para mostrar los datos de este tipo, el valor de la hora ser ajustado a la zona horaria de la sesin actual Se asocia a un esquema XML para la definicin de su estructura.

De los tipos anteriores, los comunmente utilizados son: VARCHAR2 (cadenas de texto no muy grandes), DATE (fechas, horas), NUMBER (nmeros), BLOB (ficheros de tipo word, excel, access, video, sonido, imgenes, etc) y CLOB (cadenas de texto muy grandes).

Un ejemplo de creacin de tabla con alguno de estos tipos de datos de Oracle proda ser: create table facturas ( clave char (10) primary key, codigocliente number (9,2) not null, importetotal number (10,2), baseimponible number (10,2), importeiva number (10,2), porcentajeiva number (2,0), observacion varchar2 (2000), documentacion clob, ficheroescaneado blob, fechaalta date default sysdate, fechavencimiento date, serie varchar2(10) )

Tipos de datos Mysql


MySQL soporta varios tipos de datos, que pueden ser agrupados en tres categoras: numricos, fecha y hora, y cadenas (caracteres). En este artculo se presenta un breve resumen de estos tipos, se mencionan sus requerimientos de almacenamiento, y se hace una descripcin ms detallada de las propiedades de cada uno de ellos. Los tipos de datos soportados por MySQL son listados a continuacin. Las siguientes convenciones son usadas en las descripciones: M - Indica el tamao mximo que se puede desplegar (mostrar). El mayor valor legal es de 255. D - Aplica a los datos de punto flotante e indica el nmero de digitos que siguen al punto decimal. El valor mximo posible es de 30, pero no debe ser mayor de M-2. Los parntesis cuadrados indican que un elemento es opcional. Se debe notar que cuando se especifica ZEROFILL para una columna, MySQL agregar automticamente el atributo UNSIGNED. Tipos numricos: TINYINT[(M)] [UNSIGNED] [ZEROFILL] Un entero muy pequeo. Su rango es de -128 a 127. Para enteros sin signo el rango es de 0 a 255. BIT y BOOL Es un sinnimo para TINYINT(1). SMALLINT[(M)] [UNSIGNED] [ZEROFILL] Un entero pequeo. 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 tamao 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 sinnimo 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(precisin) [UNSIGNED] [ZEROFILL] Un nmero de punto flotante. La precisin puede ser <=24 para un nmero de precisin sencilla y entre 25 y 53 para un nmero de doble precisin. Este tipo es como el FLOAT y DOUBLE que se describen a continuacin. Un FLOAT(X) tiene el mismo rango que los correspondientes tipos FLOAT y DOUBLE, pero el tamao de despliegue y el nmero de decimales no estn definidos. FLOAT[(M,D)] [UNSIGNED] [ZEROFILL] Un nmero pequeo de punto flotante (o bien, de precisin 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 tamao de despliegue y D el nmero de decimales. FLOAT sin argumentos o FLOAT(X) donde X<=24 se entiende como un nmero de punto flotante de precisin sencilla. DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL] Un nmero normal de punto flotante ( o bien, de precisin 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 tamao de despliegue y D el nmero de decimales. DOUBLE sin argumentos o FLOAT(X) donde 25 <= X <= 53 se entiende por un nmero de punto flotante de doble precisin. DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL] REAL[(M,D)] [UNSIGNED] [ZEROFILL] Son sinnimos para DOUBLE. DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL] Un nmero de punto flotante sin empaquetar. Como en las columnas CHAR, "sin empaquetar" significa que el nmero es almacenado como una cadena con un caracter para cada digito del valor. El punto decimal, y para nmeros negativos el signo - no son contados en M (sin embargo se les reserva espacio). Si D vale 0, los valores no tendrn punto decimal. El mximo rango de valores es el mismo que para DOUBLE, pero el rango para una columna DECIMAL puede ser restringido con la eleccin 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: Nmero en coma flotante desempaquetado. El nmero se almacena como una cadena Tipo de Campo Tamao 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 8 bytes REAL 8 bytes DECIMAL(M,D M+2 bytes s D > 0, M+1 bytes s D

=0 NUMERIC(M,D) M+2 bytes if 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 Maysculas y las minsculas, el tipo BLOB se ordena tenindolas en cuenta. Los tipos BLOB se utilizan para almacenar datos binarios como pueden ser ficheros. TinyText y TinyBlob: Columna con una longitud mxima de 255 caracteres. Blob y Text: un texto con un mximo de 65535 caracteres. MediumBlob y MediumText: un texto con un mximo de 16.777.215 caracteres. LongBlob y LongText: un texto con un mximo de caracteres 4.294.967.295. Hay que tener en cuenta que debido a los protocolos de comunicacin los paquetes pueden tener un mximo 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 mximo de 64 valores. Tipo de campo Tamao 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 nmero de valores SET('value1','value2',...) 1, 2, 3, 4 8 bytes, dependiendo del nmero de

valores Diferencia de almacenamiento entre los tipos Char y VarChar Valor CHAR(4) Almace namiento VARCHAR(4) Almace namiento '' '' 4 bytes " 1 byte 'ab' 'ab ' 4 bytes 'ab' 3 bytes 'abcd' 'abcd' 4 bytes 'abcd' 'abcdefgh' 'abcd' 4 bytes 'abcd' 5 bytes Tipos fecha: A la hora de almacenar fechas, hay que tener en cuenta que Mysql no comprueba de una manera estricta si una fecha es vlida o no. Simplemente comprueba que el mes esta comprendido entre 0 y 12 y que el da 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 aomesdia DateTime: Combinacin 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 ao-mes-dia horas:minutos:segundos TimeStamp: Combinacin de fecha y hora. El rango va desde el 1 de enero de 1970 al ao 2037. El formato de almacenamiento depende del tamao del campo: Tamao Formato 14 AoMesDiaHoraMinutoSegundo aaaammddhhmmss 12 AoMesDiaHoraMinutoSegundo aammddhhmmss 8 oMesDia aaaammdd 6 AoMesDia aammdd 4 AoMes aamm 2 Ao 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 ao. El rango de valores permitidos va desde el ao 1901 al ao 2155. El campo puede tener tamao dos o tamao 4 dependiendo de si queremos almacenar el ao con dos o cuatro dgitos. Tipo de Campo Tamao de Almacenamiento

DATE 3 bytes DATETIME 8 bytes TIMESTAMP 4 bytes TIME 3 bytes YEAR 1 byte

También podría gustarte