| <<< Voltar | Avançar >>> |
|
|
Se esta página lhe ajudar, considere fazer uma doação |
7. Tipos de dados
Ao criar uma tabela você deverá especificar o tipo de dados a ser armazenado nela. O MySQL possui três tipos de dados básicos: númericos, data/hora e string.
Tipos de dados numéricos
| TIPO | INTERVALO | bytes | DESCRIÇÃO |
| TINYINT[(M)] | -127 a 128; ou 0 a 255 |
1 | inteiros muitos pequenos |
| BIT | o mesmo que TINYINT | ||
| BOOL | o mesmo que TINYINT | ||
| SMALLINT[(M)] | -32768 a 32767 | 2 | inteiros pequenos |
| MEDIUMINT[(M)] | -8388608 a 8388607; ou 0 a 16777215 |
3 | inteiros de tamanho médio |
| INT[(M)] | -213 a 231-1; ou 0 a 232-1 |
4 | inteiros regulares |
| INTEGER[(M)] | o mesmo que INT | ||
| BIGINT[(M)] | -263 a 263-1; ou 0 a 264-1 |
8 | inteiros grandes |
| FLOAT(precisão) | depende da precisão | variável | números de ponto flutuante de precisão simples ou dupla |
| FLOAT[(M,D)] | 1.175494351E-38 a ±3.402823466E+38 | 4 | números de ponto flutuante de precisão simples. O mesmo que FLOAT(4) |
| DOUBLE[(M,D)] | ±1.7976931348623157E+308 a ±2.2250738585072014E-308 | 8 | números de ponto flutuante de precisão dupla. O mesmo que FLOAT(8) |
| DOUBLE | O mesmo que DOUBLE[(M,D)] | ||
| PRECISION[(M,D)] | O mesmo que DOUBLE[(M,D)] | ||
| REAL[(M,D)] | O mesmo que DOUBLE[(M,D)] | ||
| DECIMAL[(M,D)] | variável | M+2 | número de ponto flutuante armazenado como char |
| NUMERIC[(M,D)] | O mesmo que DECIMAL | ||
| DEC[(M,D)] | O mesmo que DECIMAL |
OBSERVAÇÕES:
- as opções entre colchetes ( [ e ]) são opcionais;
- dentre os tipos que se ajustam aos dados a serem inseridos, escolha sempre o de menor tamanho;
- para dados do tipo inteiro você pode usar a opção UNSIGNED para especificar inteiros positivos ou zero;
- M especifica o tamanho máximo de exibição;
- D especifica o número de casas decimais. O valor máximo de D é 30 ou M-2;
- tanto para números inteiros como para números de ponto flutuante você pode especificar a opção ZEROFILL que preenche os números com zeros iniciais. Colunas especificadas com ZEROFILL são automaticamente configuradas como UNSIGNED;
Tipos de dados data/hora
| TIPO | INTERVALO | DESCRIÇÃO |
| DATE | 1000-01-01 a 9999-12-31 | data. Exibido como YYYY-MM-DD |
| TIME | -838:59:59 a 838:59:59 | hora. Exibido como HH:MM:SS |
| DATETIME | 1000-01-01 00:00:00 a 9999-12-31 23:59:59 | data e hora. Exibido como YYYY-MM-DD HH:MM:SS |
| TIMESTAMP[(M)] | 1970-01-01 00:00:00 a algum momento em 2037. Depende do limite do sistema operacional | registro de data e hora útil para transações. Os formatos de exibição podem ser:
TIMESTAMP YYYYMMDDHHMMSS
TIMESTAMP(14) YYYYMMDDHHMMSS
TIMESTAMP(12) YYMMDDHHMMSS
TIMESTAMP(10) YYMMDDHHMM
TIMESTAMP(8) YYYYMMDD
TIMESTAMP(6) YYMMDD
TIMESTAMP(4) YYMM
TIMESTAMP(2) YY
|
| YEAR[(2)] | 70 a 69 (1970 a 2069) | ano |
| YEAR[(4)] | 1901 a 2155 | ano |
Tipos de dados string
| TIPO | INTERVALO | DESCRIÇÃO |
| [NATIONAL] CHAR(M) [BINARY] |
0 a 255 caracteres | string de comprimento fixo M. NATIONAL especifica que o conjunto de caracteres padrão (ANSI SQL) será utilizado. BINARY especifica que os dados devem ser tratados de modo a não haver distinção entre maiúsculas e minúsculas (o padrão é distinguir). |
| CHAR | 1 | o mesmo que CHAR(1) |
| [NATIONAL] | 1 a 255 | string de comprimento variável |
| VARCHAR(M) [BINARY] | variável | string de tamanho variável. O mesmo que [BINARY]. |
| TINYBLOB | 0 a 28 - 1 (255) | BLOB pequeno |
| TINYTEXT | 0 a 28 - 1 (255) | TEXT pequeno |
| BLOB | 0 a 216 - 1 (65535) | BLOB normal |
| TEXT | 0 a 216 - 1 (65535) | TEXT normal |
| MEDIUMBLOB | 0 a 224 - 1 (16777215) | BLOB médio |
| MEDIUMTEXT | 0 a 224 - 1 (16777215) | TEXT médio |
| LONGBLOB | 0 a 232 - 1 (4294967295) | BLOB longo |
| LONGTEXT | 0 a 232 - 1 (4294967295) | TEXT longo |
| ENUM('valor1','valor2',...) | 0 a 65535 | armazenam um dos valores listados ou NULL |
| SET('valor1','valor2',...) | 0 a 64 | armazenam um ou mais dos valores listados ou NULL |
OBSERVAÇÕES:
- CHAR e VARCHAR armazenam strings de comprimento fixo e variável respectivamente. VARCHAR trabalha mais lento.
- TEXT e BLOB armazenam textos grandes ou objetos binários (figuras, som, etc.). TEXT diferencia maiúsculas de minúsculas.
|
|
Se esta página lhe ajudou, considere fazer uma doação |
| <<< Voltar | Avançar >>> |