Tipos de dados MySQL

Tipos de dados MySQL
Muitas tabelas existem em um banco de dados MySQL que contém várias colunas ou campos para armazenar diferentes tipos de dados. É muito importante obter conhecimento adequado sobre os tipos de dados suportados do MySQL para criar a estrutura da propriedade da tabela de banco de dados. Cada tipo de dados do MySQL pode armazenar dados de tamanhos diferentes. Cada tipo de dados pode armazenar os dados em formato número ou string. O tamanho e os usos dos diferentes tipos de dados MySQL para criar uma tabela de banco de dados foram descritos neste tutorial.

Categorias dos tipos de dados MySQL:

Os tipos de dados MySQL são divididos nas seguintes categorias.

  1. Dados da string
  2. Dados numéricos
  3. Dados de objetos grandes binários
  4. Dados de data e hora
  5. Dados espaciais
  6. Dados JSON

Os tipos de dados relacionados a cada grupo explicou abaixo com exemplos.

Tipo de dados da string:

O campo Tipo de dados da string pode conter qualquer caractere alfabético e numérico para definir uma sequência de texto pequeno e grande, como nome, endereço, descrição, etc. O conteúdo binário, como uma imagem ou arquivo de áudio, pode ser armazenado no campo do tipo de dados da string. Os tipos de dados da string suportados no MySQL foram mostrados abaixo com tamanho e descrição.

Tipo de dados da string Descrição
Char (n) É usado para armazenar uma sequência de um número fixo de caracteres. Pode conter no máximo 255 caracteres. O valor do argumento define o comprimento da string. Se o valor do campo de char contiver menos caráter do que o n valor, então o valor do espaço será adicionado para os caracteres restantes.
Varchar (n) É usado para armazenar uma string do número variável de caracteres. Também pode conter no máximo 255 caracteres. O valor do argumento define o comprimento da string. Não desperdice espaço como o tipo de dados de char.
TinyText (n) Funciona como um tipo de dados Varchar e pode armazenar no máximo 255 caracteres.
Texto (n) É usado para armazenar valores maiores de cordas contendo um máximo de 65.535 caracteres.
MediumText (n) Ele armazena um valor de texto maior que o tipo de dados de texto que pode conter um máximo de 16.777.215 caracteres.
LongText (n) Ele armazena valores de texto maiores do que o tipo de dados do MediumText contendo um máximo de 4 GB ou 4.294.967.295 caracteres.
Binário (n) É usado para armazenar caracteres binários, e o comprimento desses dados é corrigido. Pode armazenar no máximo 255 caracteres.
Varbinário (n) Funciona como o tipo de dados binário, mas seu comprimento não é fixo.
Enum (v1, v2, v3,…, vn) A forma completa de enum é a enumeração usada para selecionar um único valor de vários valores. O índice numérico é usado para definir os valores da string. Pode ter no máximo 65.535 valores.
Set (v1, v2, v3,…, vn) É usado para selecionar 0 ou mais valores da lista de valores. Pode armazenar um máximo de 64 valores.

Tipo de dados numérico:

O campo numérico de tipo de dados armazena todo o número, como ID, número de segurança, etc., ou o número fracionário, como preço, cGPA, etc. Diferentes tipos de tipos de dados numéricos descritos abaixo.

Tipo de dados numérico Descrição
Bit (n) É usado para armazenar valores de bit. O número de bits por valor é definido por n aqui. Pode armazenar valores de 1 a 64. O valor padrão é 1.
Bool/booleano É usado para armazenar valores verdadeiros ou falsos. 0 valor é considerado um Falso valor, e qualquer número diferente de zero é considerado um Verdadeiro valor.
Tinyint (n) É usado para armazenar um valor inteiro de tamanho muito pequeno. Ele pode armazenar valores de -128 a 127 para números inteiros assinados e 0 a 255 para um número inteiro não assinado. O n define o comprimento do número.
Smallint (n) É usado para armazenar um valor inteiro de tamanho pequeno. Ele pode armazenar valores de --32768 a 32767 para inteiros assinados e 0 a 65535 para um número inteiro não assinado. O n define o comprimento do número.
Mediumint (n) É usado para armazenar um valor inteiro de tamanho médio. Ele pode armazenar valores de -8388608 a 8388607 para números inteiros assinados e 0 a 16777215 para um número inteiro não assinado. O n define o comprimento do número.
Int (n)/ número inteiro (n) É usado para armazenar um valor inteiro. Ele pode armazenar valores de -2147483648 a 2147483647 para números inteiros assinados e 0 a 4294967295 para um número inteiro não assinado. O n define o comprimento do número.
Bigint (n) É usado para armazenar um valor inteiro de grande porte. Ele pode armazenar valores de -9223372036854775808 a 9223372036854775807 para números inteiros assinados e 0 a 184467440737095551615 para um número inteiro não assinado. O n define o comprimento do número.
Float (n, D) É usado para armazenar números fracionários de tamanho pequeno. Aqui, n define a duração de todo o número e d define a duração do número após o ponto decimal. Requer 2 bytes para armazenar os dados e 24 dígitos podem ser adicionados após o ponto decimal. O valor padrão de n é 10 e é 2.
Duplo (n, d) É usado para armazenar números fracionários de tamanho grande. Aqui, n define a duração de todo o número e d define a duração do número após o ponto decimal. Requer 8 bytes para armazenar os dados e 53 dígitos podem ser adicionados após o ponto decimal. O valor padrão de n é 16 e é 4.
Decimal (n, d) É usado para definir um número fracionário de ponto fixo que pode armazenar um grande número fracionário do que flutuar e dobrar. Aqui, o valor máximo do n pode ser 65, e o valor máximo do d pode ser 30.

Tipo de dados de objetos grandes binários (BLOB):

Este tipo de dados é usado para armazenar a quantidade variável de dados binários. Quatro tipos diferentes de tipos de dados de blob foram descritos abaixo.

Tipo de dados do blob Descrição
Tinyblob Pode ser usado para armazenar dados de um máximo de 255 bytes.
Blob (n) Pode ser usado para armazenar dados de um máximo de 65.535 bytes.
Mediumblob Pode ser usado para armazenar dados de um máximo de 16.777.215 bytes.
Longblob Pode ser usado para armazenar dados de um máximo de 4 GB ou 4.294.967.295 bytes.

Data e hora Tipo de dados:

Este tipo de dados é usado para armazenar a data e os valores relacionados ao tempo. O campo Data e hora do tipo de dados pode armazenar valores de data, hora, datetime, ano e carimbo de data e hora. Se algum dado inválido for fornecido para o valor do campo da data e hora, o valor zero será inserido. Diferentes tipos de dados de tipos de dados de data e hora foram descritos abaixo.

Tipo de dados de data e hora Descrição
DATA É usado para exibir a data no formato, 'AAAA-MM-DD.' Pode armazenar valores de '1000-01-01' para '9999-12-31'.
TEMPO É usado para exibir o tempo no formato, 'HH-MM-SS.' Pode armazenar valores de '-838: 59: 59' a '838: 59: 59'.
DATA HORA É usado para exibir o tempo no formato, 'AAA AAA MM-DD HH-MM-SS'. Pode armazenar valores de '1000-01-01 00:00:00' a '9999-12-31 23:59:59'.
Ano [(2 | 4)] Ele armazena 2 ou 4 dígitos, valor do ano. O valor do ano de 2 dígitos não é suportado da versão 8 do MySQL.0.
Timestamp (M) É usado para exibir o tempo no formato, 'yyyy-mm-dd hh-mm-ss'. Pode armazenar valores de '1970-01-01 00:00:01' UTC para '2038-01-19 03:14:07' UTC.

Tipo de dados espacial:

Este tipo de tipo de dados armazena os dados geográficos e geométricos. Diferentes tipos de dados espaciais foram descritos abaixo.

Tipo de dados espacial Descrição
APONTAR É usado para armazenar os valores das coordenadas x e y.
MultiPoint É usado para armazenar uma coleção de vários pontos.
POLÍGONO É usado para representar a geometria multi -lidada. 0 ou mais limites internos e um limite externo podem ser definidos pelo tipo de dados de polígono.
Multiplygon É usado para armazenar uma coleção de vários elementos de polígono.
Linestring É usado para representar uma curva de um ou mais valores de ponto.
Multilinestring Representa a geometria de várias curvas que contém uma coleção de valores linestring.
GEOMETRIA É usado para armazenar um ponto ou agregado de pontos de valores espaciais de qualquer tipo.
GeometryCollection É usado para armazenar uma coleção de 0 ou mais valores de geometria.

JSON Data Type:

O tipo de dados é usado para armazenar e acessar documentos JSON facilmente. Esse tipo de dados é usado para validar dados JSON e fornecer espaço de armazenamento ideal automaticamente. Quando quaisquer dados inválidos são fornecidos para o campo JSON, eles produzirão um erro.

Pré-requisitos:

Você precisa criar uma tabela de banco de dados com os dados em um banco de dados MySQL para verificar os usos dos tipos de dados MySQL. Abra o terminal e conecte -se ao servidor MySQL executando o seguinte comando.

$ sudo mysql -u root

Execute o seguinte comando para criar um banco de dados nomeado test_db.

Criar banco de dados test_db;

Execute o seguinte comando para selecionar o banco de dados.

Use test_db;

Usos dos tipos de dados MySQL:

Nesta parte do tutorial, vários exemplos mostraram alguns usos dos tipos de dados MySQL para criar tabelas de banco de dados.

Exemplo 1: uso de string e tipo de dados numérico

A consulta a seguir criará uma tabela com cinco campos. O tipo de dados do ID do produto o campo é int, e a chave primária será incrementada automaticamente. O tipo de dados do nome O campo é varchar. O tipo de dados do peso O campo é pequeno. O tipo de dados do unidade O campo é enum. O tipo de dados do preço O campo é decimal. Execute a seguinte consulta para criar o Produtos mesa.

Crie produtos de tabela (
product_id int não nulo auto_incrent,
nome Varchar (45) não nulo,
Peso SmallInt não nulo,
unidade enum ('kg', 'libra', 'grama'),
Preço decimal (6, 2) não nulo,
Chave primária (product_id));

Execute o seguinte comando para verificar a estrutura do Produtos mesa.

Descrever produtos;

Saída:


A saída a seguir aparecerá após a execução do comando acima.

Execute a seguinte consulta para ler o conteúdo do Produtos mesa.

Inserir em 'Produtos' ('Product_id', 'Name', 'Weight', 'Unit', 'Price') valores (nulo, 'Cake', '500', 'Pound', '199.99 ');

Execute o seguinte comando para ler o conteúdo do Produtos mesa.

Selecione * de produtos;

Saída:

A saída a seguir aparecerá após a execução do comando acima.

Exemplo 2: Uso do tipo de dados de data e hora

A consulta a seguir criará uma tabela com quatro campos. O tipo de dados de ID do produto O campo é pequeno e a chave primária. O tipo de dados do data de fabricação Campo é DATETIME. O tipo de dados do data expirada Campo é DATETIME. O tipo de dados do data de entrada Campo é registro de data e hora. Execute a seguinte consulta para criar o Product_validity mesa.

Crie tabela product_validity (
product_id smallint (4),
manufacturing_date datetime não nulo,
expirou_date datetime não nulo,
timestamp de entrada_date,
Chave primária (product_id));

Execute o seguinte comando para verificar a estrutura do Product_validity mesa.

Descrever product_validity;

Saída:

A saída a seguir aparecerá após a execução do comando acima.

Execute a seguinte consulta para ler o conteúdo do Product_validity mesa.

Inserir em 'Product_validity' ('Product_id', 'Manufacturing_date', 'Expire_date', 'Entry_date') valores ('1234', '2022-01-03 17:01:35.000000 ',' 2022-01-31 22:01:35 ', current_timestamp ());

Execute o seguinte comando para ler o conteúdo do Product_validity mesa.

Selecione * FROM PRODUT_VALIDADE;

Saída:

A saída a seguir aparecerá após a execução do comando acima.

Exemplo 3: Uso do tipo de dados espacial

A consulta a seguir criará uma tabela com três campos. O tipo de dados de eu ia O campo é pequeno. O tipo de dados do descrição campo é texto. O tipo de dados do Geo O campo é geometria. Execute a seguinte consulta para criar o geo_table mesa.

Criar tabela geo_table (id smallint (3), descrição de texto, geometria geográfica);
Set @g = 'ponto (10 3)';

Execute o seguinte comando para verificar a estrutura do geo_table mesa.

Descrever geo_table;

Saída:

A saída a seguir aparecerá após a execução do comando acima.

Execute a seguinte consulta para inserir um registro no geo_table mesa.

Inserir valores geo_table (123, "Testando dados", st_pointfromtext (@g));

Execute a seguinte consulta para ler o conteúdo do geo_table mesa.

Selecione * de geo_table;

Saída:

A saída a seguir aparecerá após a execução do comando acima.

Exemplo-4: Uso do tipo de dados JSON

A consulta a seguir criará uma tabela de dados JSON. O tipo de dados do jdata Campo é JSON. Execute a seguinte consulta para criar o JSONTABLE mesa.

Criar tabela JSONTABLE (JDATA JSON);

Execute o seguinte comando para verificar a estrutura do JSONTABLE mesa.

Descrever JSONTABLE;

Saída:

A saída a seguir aparecerá após a execução do comando acima.

Execute a seguinte consulta para inserir os dados JSON.

Insira em valores jsontable ('"id": 1209, "nome": "mir sabbir"');

Execute a seguinte consulta para ler os registros do JSONTABLE mesa.

Selecione JDATA em JSONTABLE;

Saída:

A saída a seguir aparecerá após a execução do comando acima.

Conclusão:

Os tipos de dados MySQL mais usados ​​foram explicados neste tutorial, criando várias tabelas para limpar o conceito de tipos de dados MySQL para os novos usuários do MySQL.