
Tipos de datos SQL
- Tipos de datos
- Tipos de datos SQL
- Tipos de datos Estadísticos
Un tipo de datos define qué tipo de valor puede contener una columna: datos enteros, datos de caracteres, datos monetarios, datos de fecha y hora, cadenas binarias, etc.
Se requiere que cada columna en una tabla de base de datos tenga un nombre y un tipo de datos.
Un desarrollador de SQL debe decidir qué tipo de datos se almacenarán dentro de cada columna al crear una tabla. El tipo de datos es una guía para que SQL entienda qué tipo de datos se espera dentro de cada columna, y también identifica cómo SQL interactuará con los datos almacenados.
Tipos de datos para MySQL
En MySQL hay tres tipos principales de datos: texto, número y fecha.
Tipos de datos de texto
Tipo de datos | Descripción |
---|---|
CHAR (tamaño) | Tiene una cadena de longitud fija (puede contener letras, números y caracteres especiales). El tamaño fijo se especifica entre paréntesis. Puede almacenar hasta 255 caracteres |
VARCHAR (tamaño) | Tiene una cadena de longitud variable (puede contener letras, números y caracteres especiales). El tamaño máximo se especifica entre paréntesis. Puede almacenar hasta 255 caracteres. Nota: si agrega un valor mayor que 255, se convertirá en un tipo de texto |
TINYTEXT | Tiene una cadena con una longitud máxima de 255 caracteres |
TEXTO | Tiene una cadena con una longitud máxima de 65.535 caracteres |
BLOB | Para BLOB (Objetos grandes binarios). Almacena hasta 65.535 bytes de datos |
MEDIUMTEXT | Tiene una cadena con una longitud máxima de 16,777,215 caracteres |
MEDIUMBLOB | Para BLOB (Objetos grandes binarios). Tiene capacidad para 16.777.215 bytes de datos |
LONGTEXT | Tiene una cadena con una longitud máxima de 4.294.967.295 caracteres |
LONGBLOB | Para BLOB (Objetos grandes binarios). Tiene capacidad para 4.294.967.295 bytes de datos |
ENUM (x, y, z, etc.) | Permite ingresar una lista de valores posibles. Puede enumerar hasta 65535 valores en una lista ENUM. Si se inserta un valor que no está en la lista, se insertará un valor en blanco.
Nota: los valores se ordenan en el orden en que los ingresas. Ingrese los valores posibles en este formato: ENUM ('X', 'Y', 'Z') |
SET | Similar a ENUM, excepto que SET puede contener hasta 64 elementos de lista y puede almacenar más de una opción |
Tipos de datos numéricos
Tipo de datos | Descripción |
---|---|
TINYINT (tamaño) | -128 a 127 normal. 0 a 255 SIN FIRMAR *. La cantidad máxima de dígitos se puede especificar entre paréntesis |
SMALLINT (tamaño) | -32768 a 32767 normal. 0 a 65535 SIN FIRMAR *. La cantidad máxima de dígitos se puede especificar entre paréntesis |
MEDIUMINT (tamaño) | -8388608 a 8388607 normal. 0 a 16777215 SIN FIRMAR *. La cantidad máxima de dígitos se puede especificar entre paréntesis |
INT (tamaño) | -2147483648 a 2147483647 normal. 0 a 4294967295 SIN FIRMAR *. La cantidad máxima de dígitos se puede especificar entre paréntesis |
BIGINT (tamaño) | -9223372036854775808 a 9223372036854775807 normal. 0 a 18446744073709551615 SIN FIRMAR *. La cantidad máxima de dígitos se puede especificar entre paréntesis |
FLOAT (tamaño, d) | Un pequeño número con un punto decimal flotante. La cantidad máxima de dígitos se puede especificar en el parámetro de tamaño. El número máximo de dígitos a la derecha del punto decimal se especifica en el parámetro d |
DOBLE (tamaño, d) | Un número grande con un punto decimal flotante. La cantidad máxima de dígitos se puede especificar en el parámetro de tamaño. El número máximo de dígitos a la derecha del punto decimal se especifica en el parámetro d |
DECIMAL (tamaño, d) | Un DOBLE almacenado como una cadena, lo que permite un punto decimal fijo. La cantidad máxima de dígitos se puede especificar en el parámetro de tamaño. El número máximo de dígitos a la derecha del punto decimal se especifica en el parámetro d |
Tipos de datos para Fechas
Tipo de datos | Descripción |
---|---|
DATE () | Una fecha. Formato: AAAA-MM-DD
Nota: el rango admitido es de '1000-01-01' a '9999-12-31' |
DATETIME () | * Una combinación de fecha y hora. Formato: AAAA-MM-DD HH: MI: SS
Nota: el rango admitido es de '1000-01-01 00:00:00' a '9999-12-31 23:59:59' |
TIMESTAMP () | * Una marca de tiempo. Los valores de TIMESTAMP se almacenan como el número de segundos desde la época de Unix ('1970-01-01 00:00:00' UTC). Formato: AAAA-MM-DD HH: MI: SS
Nota: el rango admitido es de '1970-01-01 00:00:01' UTC a '2038-01-09 03:14:07' UTC |
TIME () | Un tiempo. Formato: HH: MI: SS
Nota: el rango admitido es de '-838: 59: 59' a '838: 59: 59' |
YEAR () | Un año en formato de dos o cuatro dígitos.
Nota: Valores permitidos en formato de cuatro dígitos: de 1901 a 2155. Valores permitidos en formato de dos dígitos: 70 a 69, que representan los años de 1970 a 2069 |
Tipos de datos de SQL Server
Tipos de datos de cadena
Tipo de datos | Descripción | Tamaño máximo | Almacenamiento |
---|---|---|---|
char (n) | Cadena de caracteres de ancho fijo | 8,000 caracteres | Ancho definido |
varchar (n) | Cadena de caracteres de ancho variable | 8,000 caracteres | 2 bytes + número de caracteres |
varchar (max) | Cadena de caracteres de ancho variable | 1,073,741,824 caracteres | 2 bytes + número de caracteres |
text | Cadena de caracteres de ancho variable | 2 GB de datos de texto | 4 bytes + número de caracteres |
nchar | Cadena Unicode de ancho fijo | 4.000 caracteres | Ancho definido x 2 |
nvarchar | Ancho de cadena Unicode | 4.000 caracteres | |
nvarchar (max) | Ancho de cadena Unicode | 536,870,912 caracteres | |
ntext | Ancho de cadena Unicode | 2 GB de datos de texto | |
binary (n) | Cadena binaria de ancho fijo | 8,000 bytes | |
varbinary | Cadena binaria de ancho variable | 8,000 bytes | |
varbinary (max) | Cadena binaria de ancho variable | 2 GB | |
image | Cadena binaria de ancho variable | 2 GB |
Tipos de datos numéricos
Tipo de datos | Descripción | Almacenamiento |
---|---|---|
bit | Entero que puede ser 0, 1 o NULL | |
tinyint | Permite números enteros de 0 a 255 | 1 byte |
smallint | Permite números enteros entre -32,768 y 32,767 | 2 bytes |
int | Permite números enteros entre -2,147,483,648 y 2,147,483,647 | 4 bytes |
bigint | Permite números enteros entre -9,223,372,036,854,775,808 y 9,223,372,036,854,775,807 | 8 bytes |
decimal (p, s) | Números de escala y precisión fijos.
Permite números de -10 ^ 38 +1 a 10 ^ 38 -1. El parámetro p indica el número total máximo de dígitos que se pueden almacenar (tanto a la izquierda como a la derecha del punto decimal). p debe ser un valor de 1 a 38. El valor predeterminado es 18. El parámetro s indica la cantidad máxima de dígitos almacenados a la derecha del punto decimal. s debe ser un valor de 0 a p. El valor predeterminado es 0 |
5-17 bytes |
numeric (p, s) | Números de escala y precisión fijos.
Permite números de -10 ^ 38 +1 a 10 ^ 38 -1. El parámetro p indica el número total máximo de dígitos que se pueden almacenar (tanto a la izquierda como a la derecha del punto decimal). p debe ser un valor de 1 a 38. El valor predeterminado es 18. El parámetro s indica la cantidad máxima de dígitos almacenados a la derecha del punto decimal. s debe ser un valor de 0 a p. El valor predeterminado es 0 |
5-17 bytes |
smallmoney | Datos monetarios de -214,748.3648 a 214,748.3647 | 4 bytes |
money | Datos monetarios de -922,337,203,685,477.5808 a 922,337,203,685,477.5807 | 8 bytes |
float (n) | Datos del número de precisión flotante desde -1.79E + 308 a 1.79E + 308.
El parámetro n indica si el campo debe contener 4 u 8 bytes. float (24) contiene un campo de 4 bytes y float (53) contiene un campo de 8 bytes. El valor predeterminado de n es 53. |
4 u 8 bytes |
real | Datos numéricos de precisión flotante desde -3.40E + 38 a 3.40E + 38 | 4 bytes |
Tipos de datos de fecha
Tipo de datos | Descripción | Almacenamiento |
---|---|---|
datetime | Del 1 de enero de 1753 al 31 de diciembre de 1999, con una precisión de 3,33 milisegundos | 8 bytes |
datetime2 | Desde el 1 de enero de 0001 hasta el 31 de diciembre de 1999, con una precisión de 100 nanosegundos | 6-8 bytes |
smalldatetime | Del 1 de enero de 1900 al 6 de junio de 2079 con una precisión de 1 minuto | 4 bytes |
date | Almacenar una fecha solamente. Del 1 de enero de 0001 al 31 de diciembre de 9999 | 3 bytes |
time | Almacenar un tiempo solo con una precisión de 100 nanosegundos | 3-5 bytes |
datetimeoffset | Lo mismo que datetime2 con la adición de un desplazamiento de zona horaria | 8-10 bytes |
timestamp | Almacena un número único que se actualiza cada vez que se crea o modifica una fila. El valor de la marca de tiempo se basa en un reloj interno y no corresponde a tiempo real. Cada tabla puede tener una sola variable de marca de tiempo |
Otros tipos de datos
Tipo de datos | Descripción |
---|---|
sql_variant | Almacena hasta 8,000 bytes de datos de varios tipos de datos, excepto texto, ntext e indicación de fecha y hora |
uniqueidentifier | Almacena un identificador único global (GUID) |
xml | Almacena datos formateados en XML. Máximo 2 GB |
cursor | Almacena una referencia a un cursor utilizado para las operaciones de la base de datos |
table | Almacena un conjunto de resultados para un procesamiento posterior |
Tipos de datos de Microsoft Access
Tipo de datos | Descripción | Almacenamiento |
---|---|---|
Text | Usar para texto o combinaciones de texto y números. 255 caracteres máximo | |
Memo | Memo se usa para grandes cantidades de texto. Almacena hasta 65,536 caracteres. Nota: no puede ordenar un campo memo. Sin embargo, se pueden buscar | |
Byte | Permite números enteros de 0 a 255 | 1 byte |
Integer | Permite números enteros entre -32,768 y 32,767 | 2 bytes |
Long | Permite números enteros entre -2,147,483,648 y 2,147,483,647 | 4 bytes |
Single | Punto flotante de precisión simple. Manejará la mayoría de los decimales | 4 bytes |
Double | Punto flotante de doble precisión. Manejará la mayoría de los decimales | 8 bytes |
Currency | Usar para moneda. Tiene hasta 15 dígitos de dólares enteros, más 4 decimales. Consejo: puede elegir la moneda de su país para usar | 8 bytes |
AutoNumber | Los campos de Autonumérico otorgan automáticamente a cada registro su propio número, generalmente a partir de 1 | 4 bytes |
Date/Time | Usar para fechas y horas | 8 bytes |
Yes/No | Un campo lógico se puede mostrar como Sí / No, Verdadero / Falso u On / Off. En el código, use las constantes True y False (equivalente a -1 y 0). Nota: los valores nulos no están permitidos en los campos Sí / No | 1 bit |
Ole Object | Puede almacenar imágenes, audio, video u otros BLOB (objetos grandes binarios) | hasta 1 GB |
Hyperlink | Contiene enlaces a otros archivos, incluidas páginas web | |
Lookup Wizard | Te permite escribir una lista de opciones, que luego puedes elegir de una lista desplegable |