Tipos de campos en MySQL
¿Creías que íbamos a empezar a crear la base de datos? Pues lo siento, aún no toca, jeje, nos queda algo muy importante, que es los tipos de campos en los que vamos a almacenar los datos. Os dejo puestos todos los tipos, divididos en tres clases: numéricos, fechas y texto. Todos no son importantes, nosotros utilizaremos sobre todo Datetime, text, int y varchar, por lo que si quereis mirar esos cuatro y pasad al siguiente capítulo os dejo, jeje, o miradlos todos a modo informativo.
Campos numéricos
Vamos a ir mencionando los nombres de los distintos campos numéricos y a explicar cómo son:
- Bit y Bool: un número de 1 bit, es decir, o un 0 o un 1, sólo puede tomar ambos valores.
- Tinyint: número entero que si le ponemos signo estará entre -128 y 127, y sin signo entre 0 y 255 (para los más entendidos, un número de 8 bites, o de un byte). No podemos poner un número fuera de ese rango o dará error.
- SmallInt: número comprendido entre -32768 y 32767, o sin signo entre 0 y 65535 (número de 16 bits/2 bytes).
- MediumInt: comprendido entre -8388608 y 8388607, o sin signo entre 0 y 16777215 (24 bites/3 bytes).
- Int (o integer): número entre -2147483648 y 2147483647, o sin signo entre 0 y 4294967295 (32 bites/4 bytes).
- BigInt: número entre -9.223.372.036.854.775.808 y 9.223.372.036.854.775.807, o sin signo entre 0 y 18.446.744.073.709.551.615 (64 bites/8 bytes).
- Float: número decimal en punto flotante de precisión simple. Los valores válidos van desde -3.402823466x10^38 a -1.175494351x10^-38, o desde 1.175494351x10^-38 a 3.402823466x10^38 (decimales en punto flotante de 4 bytes).
- Double: número decimal en punto flotante de precisión doble. Los valores permitidos van desde -1.7976931348623157x10^308 a -2.2250738585072014x10^-308, o desde 2.2250738585072014x10^-308 a 1.7976931348623157x10^308 (decimales en punto flotante de 8 bytes).
- Decimal: yo os aconsejo este para almacenar número decimales. hay que indicarle dos valores separados por una coma llamémosles "M,D". Este tipo de campo es el más preciso, M sería la presición o el número de dígitos totales, y D el número de dígitos decimales que tendrá.
Fechas
Pasamos a los tipos de campo que más trabajo me dieron en su momento, jeje:
- Date: el formato en que lo guarda es año-mes-día, y guarda desde el año 1001 al 9999.
- DateTime: el formato es año-mes-día hora:minuto:segundo, y guarda desde el año 1001 al 9999.
- TimeStamp: en este caso el formato lo elijes tu en función del tamaño de caracteres que le pongas al campo. Sólo llega entre 1970 y 2037. Según el tamaño de caracteres quedará de la siguiente forma:
- Time: el formato es hora:minuto:segundo, con un rango desde -838 horas a 838 horas.
- Year: guarda solo un año de entre 1901 y 2155, que puede tener sólo dos cifras o las cuatro, dependiendo del tamaño de caracteres que le pongamos.
Tamaño | Formato |
14 | aaaammddhhmmss |
12 | aammddhhmmss |
8 | aaaammdd |
6 | aammdd |
4 | aamm |
2 | aa |
Campos de texto
- Char: es una cantidad fija de caracteres (los que le digamos, si le decimos 5 siempre tendrás que guardar 5 caracteres). El máximo que le podemos indicar es 255.
- VarChar: cantidad finita de caracteres con un máximo de 255, aunque podemos indicarle que este máximo sea menor.
- TinyText y TinyBlob: Texto con una longitud máximo de 255 caracteres.
- Blob y Text: texto con un máximo de 65535 caracteres. Text es también muy usado, aunque no tanto como varchar.
- MediumBlob y MediumText: 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 os paquetes puleden tener un máximoo puede ocupar más de 16 Mb.
- Enum: campo que puede tener un único valor de una lista que se especifica.
- Set: un campo que puede contener ninguno, uno ó varios valores de una lista.
La diferencia entre char y varchar es que char ocupa siempre el mismo espacio llenemos la cantidad fija de caracteres o no, y varchar ocupa lo que llenemos, por lo que es preferible usar varchar que char. A Enum y Set se le indican los valores entrecomillados con comilla simple y separador por comas, de la siguiente forma: 'value1','value2',...
No hay comentarios:
Publicar un comentario