Directorio de artigos
Que tipos de datos admite MySQL ? Unha explicación detallada dos tipos de datos de MySQL.
Tipos de datos MySQL
Os tipos de campos de datos definidos en MySQL son moi importantes para a optimización da súa base de datos.
MySQL admite unha variedade de tipos, que poden dividirse aproximadamente en tres categorías: tipos numéricos, de data/hora e de cadea (carácter).
Tipo numérico
As bases de datos MySQL admiten todos os tipos de datos numéricos estándar de SQL.
Estes tipos inclúen tipos de datos numéricos estritos (INTEGER, SMALLINT, DECIMAL e NUMERIC) e tipos de datos numéricos aproximados (FLOAT, REAL e DOUBLE PRECISION).
A palabra clave INT é un sinónimo de INTEGER e a palabra clave DEC é un sinónimo de DECIMAL.
O tipo de datos BIT contén valores de campo de bits e admite táboas MyISAM, MEMORY, InnoDB e BDB.
Como extensión do estándar SQL, MySQL tamén admite os tipos de enteiros TINYINT, MEDIUMINT e BIGINT.A seguinte táboa mostra o almacenamento e o intervalo necesarios para cada tipo de enteiro.
| Tipo | tamaño | rango (asinado) | rango (sen asinar) | Usa |
|---|---|---|---|---|
| TINYINT | 1 byte | (-128, 127) | (0, 255) | valor enteiro pequeno |
| SMINTINT | 2 byte | (-32 768, 32 767) | (0, 65 535) | valor enteiro grande |
| MEDIUMINT | 3 byte | (-8 388 608, 8 388 607) | (0, 16 777 215) | valor enteiro grande |
| INT ou INTEGER | 4 byte | (-2 147 483 648, 2 147 483 647) | (0, 4 294 967 295) | valor enteiro grande |
| GRANDE | 8 byte | (-9 233 372 036 854 775 808, 9 223 372 036 854 775 807) | (0, 18 446 744 073 709 551 615) | valor enteiro moi grande |
| FLOTAR | 4 byte | (-3.402 823 466 E+38, -1.175 494 351 E-38), 0, (1.175 494 351 E-38, 3.402 823 466 351 E+38) | 0, (1.175 494 351 E-38, 3.402 823 466 E+38) | precisión única valor de coma flotante |
| DOBLE | 8 byte | (-1.797 693 134 862 315 7 E+308, -2.225 073 858 507 201 4 E-308), 0, (2.225 073 858 507 201 4 E-308 1.797 693 134 E-862), 315, (7 308 XNUMX XNUMX XNUMX XNUMX E-XNUMX XNUMX, XNUMX XNUMX XNUMX XNUMX XNUMX + XNUMX) | 0, (2.225 073 858 507 201 4 E-308, 1.797 693 134 862 315 7 E+308) | dobre precisión valor de coma flotante |
| DECIMAL | Para DECIMAL(M,D), se M>D, é M+2, senón D+2 | depende dos valores de M e D | depende dos valores de M e D | valor decimal |
tipo de data e hora
Os tipos de data e hora que representan valores de hora son DATETIME, DATE, TIMESTAMP, TIME e YEAR.
Cada tipo de tempo ten un intervalo de valores válidos e un valor "cero", que se usa cando se especifica un valor non válido que MySQL non pode representar.
O tipo TIMESTAMP ten unha función de actualización automática propietaria que se describirá máis adiante.
| Tipo | tamaño (byte) | rango | Formato | Usa |
|---|---|---|---|---|
| DATA | 3 | 1000-01-01/9999-12-31 | AAAA-MM-DD | valor da data |
| TEMPO | 3 | ‘-838:59:59'/'838:59:59' | HH: MM: SS | valor temporal ou duración |
| ANO | 1 | 1901/2155 | AAAA | valor do ano |
| DATA | 8 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | AAAA-MM-DD HH: MM: SS | Valores de data e hora mesturados |
| MARCA DE TEMPO | 4 | 1970-01-01 00:00:00/2037 年某时 | AAAAAMMDD HHMMSS | valores mixtos de data e hora, marca de tempo |
Tipo de cadea
Os tipos de cadea refírense a CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM e SET.Esta sección describe como funcionan estes tipos e como usalos nas consultas.
| Tipo | tamaño | Usa |
|---|---|---|
| TANQUE | 0-255 bytes | corda de lonxitude fixa |
| VARCHAR | 0-65535 bytes | cadea de lonxitude variable |
| TINYBLOB | 0-255 bytes | cadea binaria de ata 255 caracteres |
| TEXTO PEQUEÑO | 0-255 bytes | cadea de texto curta |
| BLOB | 0-65 535 bytes | datos de texto longo en forma binaria |
| TEXTO | 0-65 535 bytes | datos de texto longos |
| BLOBO MEDIO | 0-16 777 215 bytes | Datos de texto de lonxitude media en forma binaria |
| TEXTO MEDIO | 0-16 777 215 bytes | datos de texto de lonxitude media |
| LONGBLOB | 0-4 294 967 295 bytes | Datos de texto moi grandes en forma binaria |
| TEXTO LARGO | 0-4 294 967 295 bytes | datos de texto moi grandes |
Os tipos CHAR e VARCHAR son similares, pero gárdanse e recuperan de forma diferente.Tamén se diferencian pola súa lonxitude máxima e se se conservan os espazos ao final.Non se realiza ningunha conversión de maiúsculas e minúsculas durante o almacenamento ou a recuperación.
As clases BINARY e VARBINARY son similares a CHAR e VARCHAR, agás que conteñen cadeas binarias en lugar de cadeas non binarias.É dicir, conteñen cadeas de bytes en lugar de cadeas de caracteres.Isto significa que non teñen conxunto de caracteres e que a clasificación e a comparación baséanse nos valores numéricos dos bytes de valores da columna.
Un BLOB é un obxecto binario grande que pode conter unha cantidade variable de datos.Hai 4 tipos de BLOB: TINYBLOB, BLOB, MEDIUMBLOB e LONGBLOB.Só difiren na lonxitude máxima do valor que poden manter.
Hai 4 tipos de TEXTO: TINYTEXT, TEXT, MEDIUMTEXT e LONGTEXT.Estes corresponden aos 4 tipos de BLOB, coa mesma lonxitude máxima e requisitos de almacenamento.
Esperemos que o artigo "Que tipos de datos admite MySQL? Unha explicación detallada dos tipos de datos en MySQL", compartido no blog de Chen Weiliang ( https://www.chenweiliang.com/ ), che sexa útil.
Non dubides en compartir a ligazón deste artigo: https://www.chenweiliang.com/cwl-466.html
