Curso de MariaDB Desde la Consola/TiposDeDatos
Ir a la navegación
Ir a la búsqueda
Tipos de Datos
Estandar ANSI tipos de datos
Numerico:
INT[(M)] [UNSIGNED] [ZEROFILL]
INTEGER[(M)] [UNSIGNED] [ZEROFILL]
Un entero de tamaño normal. Cuando marcada UNSIGNED, oscila desde
0 hasta 4294967295,
de lo contrario su gama se
-2147483648 a 2147483647
(FIRMADO es el valor predeterminado). Si una columna se ha establecido en ZEROFILL,
todos los valores se anteponen por ceros para que el valor INT contiene un número de
dígitos M. INTEGER es un sinónimo de INT.
Nota: Si se ha especificado el atributo ZEROFILL, la columna se convertirá
automáticamente en UNSIGNED
TINYINT[(M)] [UNSIGNED] [ZEROFILL] -128 a 127
o
0 255
Un muy pequeño número entero. La gama firmado es
-128 a 127.
El rango sin signo es de
0 a 25
Si una columna se ha establecido en ZEROFILL, todos los valores se anteponen por
ceros para que el valor TINYINT contiene un número de dígitos M.
Nota: Si se ha especificado el atributo ZEROFILL, la columna se convertirá
automáticamente en UNSIGNED.
BOOLEAN UnSigned Solemente 0 1 tinyint(1)
Estos tipos son sinónimos de TINYINT (1). Un valor de cero se considera falsa.
Valores distintos de cero se consideran verdaderas:
SMALLINT
Un pequeño número entero. La gama firmado es
-32768 a 32767.
El rango sin signo es de
0 a 65535.
Si una columna se ha establecido en ZEROFILL, todos los valores se anteponen por
ceros para que el valor SMALLINT contiene un número de dígitos M.
Nota: Si se ha especificado el atributo ZEROFILL, la columna se convertirá
automáticamente en UNSIGNED.
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
Un entero de tamaño mediano. La gama firmado es
-8388608 a 8388607.
El rango sin signo es
0 a 16.777.215.
ZEROFILL rellena el número entero con ceros y asume UNSIGNED (incluso si UNSIGNED no
se especifica
BIGINT[(M)] [UNSIGNED] [ZEROFILL]
Un entero grande. La gama firmado es
-9223372036854775808 a 9223372036854775807
El rango sin signo es
0 a 18446744073709551615
Si una columna se ha establecido en ZEROFILL, todos los valores se anteponen por
ceros para que el valor SMALLINT contiene un número de dígitos M.
Nota: Si se ha especificado el atributo ZEROFILL, la columna se convertirá
automáticamente en UNSIGNED.
SERIAL es un alias de:
BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE
FLOAT(M,D) 24 SIGNED Solemente
10,2
A (precisión simple) pequeño número de coma flotante (ver DOBLE para un número de
punto flotante de tamaño regular). Los valores permitidos son:
-3.402823466E + 38 a -1.175494351E-38
O
1.175494351E-38 a 3.402823466E + 38.
Estos son los límites teóricos, basados en el estándar IEEE. El alcance real puede
ser ligeramente menor dependiendo de su hardware o sistema operativo.
M es el número total de dígitos y D es el número de dígitos después del punto
decimal. Si M y D se omiten, los valores se almacenan en los límites permitidos por
el hardware. Un número de coma flotante de precisión simple tiene una precisión de
aproximadamente 7 cifras decimales.
UNSIGNED, si se especifica, desautoriza valores negativos.
Usando FLOAT puede darle algunos problemas inesperados, porque todos los cálculos en
MariaDB se realizan con doble precisión. Ver punto flotante de precisión.
DOUBLE(M,D) 53 SIGNED Solemente DOUBLE REAL === DOUBLE
16,4
Una de tamaño normal (de doble precisión) número de coma flotante (ver FLOAT para un
número de coma flotante de precisión simple).
Los valores permitidos son:
-1.7976931348623157E+308 a -2.2250738585072014E-308
o
2.2250738585072014E-308 a 1.7976931348623157E+308
Estos son los límites teóricos, basados en el estándar IEEE. El alcance real puede
ser ligeramente menor dependiendo de su hardware o sistema operativo.
M es el número total de dígitos y D es el número de dígitos después del punto
decimal. Si M y D se omiten, los valores se almacenan en los límites permitidos por
el hardware. Un número de coma flotante de doble precisión tiene una precisión de
aproximadamente 15 cifras decimales.
UNSIGNED si se especifica, desautoriza valores negativos.
ZEROFILL si se especifica, rellena el número de ceros, hasta el número total de
dígitos especificados por M
DECIMAL(M,D) - SIGNED Solemente DECIMAL, NUMERIC, DEC, FIXED
10,0
Un lleno "exacta" de punto fijo número. M es el número total de dígitos (la
precisión) y D es el número de dígitos después del punto decimal (la escala). El
punto decimal y (para números negativos) el signo "-" no se cuentan en M Si D es 0
los valores no tienen punto decimal o parte fraccional y en INSERT el valor se
redondearán a la más cercana DECIMAL El número máximo de dígitos M para DECIMAL es
65. El número máximo de decimales soportados D es 30 Si D se omite, el valor
predeterminado es 0 Si M se omite, el valor predeterminado es 10
UNSIGNED si se especifica, desautoriza valores negativos.
ZEROFILL si se especifica, rellena el número de ceros, hasta el número total de
dígitos especificados por M
Todos los cálculos básicos (+, -, *, /) con DECIMAL columnas se realizan con una
precisión de 65 dígitos.
BIT[(M)]
Un tipo poco campo. M indica el número de bits por valor, desde 1 a 64 El valor
predeterminado es 1 si M se omite.
Valores de bits se pueden insertar con b'value' donde value es el valor de bit en 0 y
1 de la.
Los campos de bits son automáticamente con relleno de ceros por la izquierda a la
longitud de la broca, así por ejemplo en un (4) Campo BIT, '10' es equivalente a
'0010'.
Los bits se devuelven como binario, por lo que para mostrarlos, agregue 0, o utilizar
una función como HEX, octubre o BIN para convertirlos.
Fetcha y Tiempo:
DATE YYYY-MM-DD
El rango admitido es 1000-01-01 a 9999-12-31
MariaDB muestra DATE valores en YYYY-MM-DD formato, pero se le puede asignar fechas
en formatos más flexibles, incluyendo cadenas o números, siempre y cuando tengan
sentido. Estos incluyen un año corto, YY-MM-DD sin delimitadores, YYMMDD o cualquier
otro delimitador aceptable, por ejemplo YYYY/MM/DD Para más detalles, ver la fecha y
hora literales.
0000-00-00 es un valor especial permitido (cero fecha), a menos que el NO_ZERO_DATE
sql_mode se utiliza. Además, los componentes individuales de una fecha se pueden
ajustar a 0 (por ejemplo: 2015-00-12 a menos que el NO_ZERO_IN_DATE sql_mode se
utiliza. En muchos casos, el resultado de la expresión en la participación de una
fecha cero, o una fecha con cero-piezas, es NULL Si el ALLOW_INVALID_DATES sql_mode
está activada, si la pieza día está en el rango entre 1 y 31, la fecha no produce
cualquier error, incluso para los meses que tienen menos de 31 días
DATETIME YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 -
9999-12-31 23:59:59
Una combinación fecha y hora.
El rango admitido es 1000-01-01 00:00:00.000000 'a' 9999-12-31 23:59:59.999999.
MariaDB muestra DATETIME valores en YYYY-MM-DD HH:MM:SS formato, pero permite la
asignación de valores a DATETIME columnas usando cadenas o números. Para más
detalles, ver la fecha y hora literales.
La precisión de microsegundos puede ser de 0-6. Si no se especifica 0 se utiliza.
Microsegundos han estado disponibles desde MariaDB 5.3.
0000-00-00 es un valor especial permitido (cero fecha), a menos que el NO_ZERO_DATE
sql_mode se utiliza.
Además, los componentes individuales de una fecha se pueden ajustar a 0 (por ejemplo:
2015-00-12 a menos que el NO_ZERO_IN_DATE sql_mode se utiliza. En muchos casos, el
resultado de la expresión en la participación de una fecha cero, o una fecha con
cero-piezas, es NULL Si el ALLOW_INVALID_DATES sql_mode está activada, si la pieza
día está en el rango entre 1 y 31, la fecha no produce cualquier error, incluso para
los meses que tienen menos de 31 días.
MariaDB comenzando con 10.0.1
Desde MariaDB 10.0.1, columnas DATETIME también aceptan CURRENT_TIMESTAMP como el
valor predeterminado.
MariaDB comenzando con 10.1.2
MariaDB 10.1.2 presentará el --mysql56-temporal-formato opción, que permite MariaDB
para almacenar DATETMEs utilizando el mismo formato de bajo nivel MySQL 5.6 usos.
TIMESTAMP YYYYMMDDHHMMSS 12:00AM 1970-01-01 - 2037
12 (YYMMDDHHMMSS)
8 (YYYYMMDD
6 (YYMMDD)
TIME HH:MM:SS
YEAR YYYY
2 (YY) 1901 - 2155
String:
CHAR (M) PAD Derecha con Espacios
Una cadena de longitud fija que siempre tiene la razón acolchado con espacios hasta
la longitud especificada cuando se almacena. M representa la longitud de la columna
en caracteres. La gama de M es 0 a 255 Si M se omite, la longitud es 1
CHAR (0) columnas puede contener 2 valores: una cadena vacía o NULL. Tales columnas
no pueden ser parte de un índice. El CONNECT motor de almacenamiento no es compatible
con CHAR (0).
Nota: Los espacios finales se eliminan cuando CHAR se recuperan los valores a menos
que el PAD_CHAR_TO_FULL_LENGTH modo SQL está habilitada.
VARCHAR (M)
TEXT Una cadena de longitud variable. M representa la longitud máxima de la columna
en caracteres. La gama de M es de 0 a 65.535. La longitud máxima efectiva de un
VARCHAR está sujeta al tamaño máximo de fila (65.535 bytes, que es compartida entre
todas las columnas) y el conjunto de caracteres utilizado. Por ejemplo, caracteres
utf8 pueden requerir hasta tres bytes por carácter, por lo que una columna VARCHAR
que utiliza el juego de caracteres UTF-8 pueden ser declarado un máximo de 21.844
caracteres.
Tiendas MariaDB valores VARCHAR como un byte o de dos bytes prefijo de longitud más
datos. El prefijo de longitud indica el número de bytes en el valor. Una columna
VARCHAR utiliza un byte de longitud si los valores no requieren más de 255 bytes, dos
bytes de longitud si los valores pueden requerir más de 255 bytes.
Nota: MariaDB 5.1 y posteriormente seguir la especificación de SQL estándar, y no
quite espacios finales de los valores VARCHAR.
VARCHAR (0) columnas puede contener 2 valores: una cadena vacía o NULL. Tales
columnas no pueden ser parte de un índice. El CONNECT motor de almacenamiento no
admite VARCHAR (0).
VARCHAR es la abreviatura para variar CARÁCTER. VARCHAR NACIONAL es la manera
estándar de SQL para definir que una columna VARCHAR debe utilizar algún juego de
caracteres predefinido. MariaDB utiliza utf8 como este juego de caracteres
predefinido, al igual que MySQL 4.1 en adelante. NVARCHAR es la abreviatura de
VARCHAR NACIONAL. o Case Sensitivo con SORT Puedes usar para Binarios o Textos datos
Max 65,535
BLOB Case Sensitvo con SORT Puedes usar para Binarios o Textos datos
Max 65,535
TEXT Case INSensitvo con SORT Puedes usar para Textos datos
Max 65,535
Un BLOB es un objeto binario grande que puede contener una cantidad variable de
datos. Los cuatro BLOB tipos son
TINYBLOB,
BLOB,
MEDIUMBLOB, y
LONGBLOB.
Estos sólo se diferencian en la longitud máxima de los valores que pueden tener.
Los cuatro TEXT tipos son
TINYTEXT,
TEXT,
MEDIUMTEXT, y
LONGTEXT.
Estos corresponden a los cuatro BLOB tipos y tienen la misma longitud máxima y los
requisitos de almacenamiento.
TINYTEXT
Max 255
TINYBLOB
Max 255
MEDIUMTEXT
Max 16,777,215
MEDIUMBLOB
Max 16,777,215
BLOB
Max 65,535
TEXT
Max 65,535
LONGTEXT
Max 4,294,967,295
LONGBLOB
Max 4,294,967,295
ENUM ENUM ( 'A', -77, 'VERDAD' ) o NULL
Max Fields 65,535
Una enumeración. Un objeto de cadena que puede tener sólo un valor, elegido de la
lista de valores 'valor1', 'valor2', ..., NULL o el '' valor de error especial. En
teoría, un ENUM columna puede tener un máximo de 65.535 valores distintos; en la
práctica, el verdadero máximo depende de muchos factores. ENUM valores se representan
internamente como enteros.
Los espacios finales se eliminan automáticamente de los valores ENUM de creación de
la tabla.
ENUM requieren relativamente poco espacio de almacenamiento en comparación con las
cadenas, ya sea uno o dos bytes, dependiendo del número de valores de la enumeración.
Valores NULL y vacías
Un ENUM también puede contener valores NULL y vacías. Si la columna ENUM se declara
para permitir valores NULL, NULL se convierte en un valor válido, así como el valor
por defecto (ver más abajo). Si el modo estricto SQL no está habilitado, y un valor
no válido se inserta en un ENUM, una cadena vacía especial, con un valor de índice de
cero (ver índice numérico, más adelante), se inserta, con una advertencia. Esto puede
ser confuso, porque la cadena vacía es también un valor posible, y la única
diferencia si que en este caso su índice no es 0. Inserción fallará con un error si
el modo estricto está activo.
Si un DEFAULT cláusula no se encuentra, el valor por defecto será:
NULL es la columna es anulable;
de lo contrario, el primer valor en el enumaration.
Índice Numérico
Valores ENUM son indexados numéricamente en el orden en que se definen, y la
clasificación se llevarán a cabo en este orden numérico. No sugerimos usando ENUM
para almacenar números, ya que hay poco o ningún beneficio espacio de almacenamiento,
y es fácil confundir el entero enumeración con el valor numeral enumeración dejando
fuera las comillas.
Un ENUM define como ENUM ('manzana', 'naranja', 'pera') tendría los siguientes
valores del índice:
Índice Valor
NULL NULL
0 ''
1 'manzana'
2 'Naranja'
3 'Pera'