【MySQL】Tipo de dados MySQL

Índice

1. tipo minúsculo

2. tipo de bit

3. Tipo decimal

1. tipo flutuante

2. Tipo decimal

3. Tipo de string

1. tipo de caractere 

2. tipo varchar

4. Tipo de data

5. enumerar e definir

1. Sintaxe do tipo de enumeração e coleção

2. Pesquise por tipos de enumeração e coleção

6. função find_in_set

Escreva no final:


1. tipo minúsculo

Tomamos o tipo tinyint como exemplo para introduzir os tipos da série int.

1) Vamos construir uma tabela simples primeiro:

create table if not exists t1(
    num tinyint
);

2) Então observamos diretamente Sanlian para verificar esta tabela:

As ações incluem:

desc t1;
show tables;
show create table t1;

3) Em seguida é a operação de inserção:

A faixa de valores do tinyint é -128 ~ 127, vamos tentar inserir alguns valores agora:

insert into t1 values (-128);
insert into t1 values (127);
insert into t1 values (0);
insert into t1 values (1);
insert into t1 values (-1);

Então vamos ver os dados que acabamos de inserir:

select * from t1;

E se inserirmos um valor incorreto:

O MySQL relatará diretamente um erro e nos impedirá de inserir.

Em seguida, criamos outra tabela e criamos um tipo não assinado:

create table if not exists t1(
    num tinyint unsigned
);

Seu intervalo de dados é 0 ~ 255.

Portanto, se inserirmos um número negativo, ele definitivamente reportará um erro:

2. tipo de bit

1) As regras antigas, ou começam pela tabela:

create table if not exists t3(
    id int,
    online bit(1)
);

2) Veja a tabela:

3) Insira os dados:

insert into t3 (id, online) values (123, 1);
insert into t3 (id, online) values (123, 2);

 Um erro é relatado quando 2 é inserido, porque ele suporta apenas um bit:

Podemos modificar seu valor:

alter table t3 modify online bit(10);

Podemos ver que a modificação foi bem-sucedida aqui:

Se não incluirmos o tamanho do bit quando construirmos a tabela, o padrão será 1.

3. Tipo decimal

1. tipo flutuante

 1) Como de costume, comece aprendendo com a criação da tabela:

create table if not exists t5(
    id int,
    salary float(4, 2)
);

2) Observe a tabela:

3) Tente inserir dados:

insert into t5 (id, salary) values (1, 99.99);
insert into t5 (id, salary) values (1, 199.99);

Entre parênteses do tipo float, o primeiro é o seu número de dígitos, escolhemos 4 então o máximo são 4 dígitos,

A segunda é a precisão dele, escolhemos 2 então a casa decimal dele é no máximo 2. 

Deve-se observar aqui que, como a precisão requer dois dígitos, a parte inteira pode ter apenas dois dígitos.

Existe outro fenômeno mágico aqui, ou seja, a parte de precisão é calculada de acordo com o arredondamento.

Então 99.994 tem permissão para inserir tais números.

Quando construímos uma tabela, também podemos adicionar unsigned após o tipo float para torná-la unsigned.          

Se for o float usado por padrão, ele é configurado por você, então terá uma certa perda de precisão. (cerca de 7 dígitos)

2. Tipo decimal

Em uso, é exatamente igual ao tipo float.

Mas ele tem uma vantagem única sobre o float, então vou dizer aqui:

Quando float armazena alguns números relativamente grandes, haverá um problema de perda de precisão.

Mas o que armazena decimal é o que é.

3. Tipo de string

1. tipo de caractere 

1) Crie uma tabela

create table if not exists t8(
    id int,
    name char(2)
);

2) Inserir dados:

Podemos saber que char (2) significa que o maior comprimento de caractere é 2.

Nota: O char máximo só pode ser 255.

2. tipo varchar

1) Crie uma tabela

create table if not exists t7(
    id int,
    name varchar(6)
);

2) inserir

Pode-se ver que o comprimento máximo que ele pode inserir é 6. Observe que varchar suporta até 21845.

Que char e varchar parecem iguais, qual é a diferença entre eles?

char é de comprimento fixo (aberto no início), varchar é de comprimento variável (quanto é usado, quanto é aberto)

4. Tipo de data

Existem três tipos de data comuns: date, datetime, timestamp

1) Crie uma tabela

create table if not exists t9(
    t1 date,
    t2 datetime,
    t3 timestamp
);

2) Ver tabela

Timestamp tem um valor padrão, que deve ser o timestamp atual.

3) Insira o valor

Podemos ver que isso foi inserido com sucesso

4) Veja o resultado da inserção

 t3 exibe automaticamente a hora atual.

5. enumerar e definir

1. Sintaxe do tipo de enumeração e coleção

valor de enumeração enum é um tipo de rádio

O tipo de coleção definido é um tipo de seleção múltipla

1) Crie uma tabela

create table if not exists t10(
    username varchar(20),
    sex enum('男', '女'),
    hobby set('写代码', '睡觉', '打游戏')
);

2) Ver tabela

3) Insira o valor 

Então:

Podemos ver o valor que inserimos.

Deve-se observar aqui que quando você inserir na posição sexual no futuro, você pode inserir apenas o valor de enumeração que ele deu, e o valor de enumeração começa em 1, então você também pode inserir o valor de enumeração para representar o valor que inserimos, como inserir 1 É inserir um homem. 

Vamos ver se podemos inserir vários valores na coleção:

Podemos ver que vários valores podem ser inseridos. Deve-se notar aqui que se nada for inserido, será NULL, e se for inserido 0, será uma string vazia, mas os números da coleção são diferentes dos da enumeração. Podemos imaginar os 3 valores ​Nesta coleção como um binário 000, o bit mais baixo representa o primeiro valor, então inserir 1 é 001, inserir e escrever código:

Se a inserção for 3, a inserção deve estar escrevendo código e dormindo:

Pode-se ver que este é realmente o caso. 

Resumo: Enumerações são subscritos, coleções são bitmaps.

2. Pesquise por tipos de enumeração e coleção

 Vamos primeiro procurar de acordo com o valor da enumeração:

select * from t10 where sex=1;
select * from t10 where sex=2;

O conjunto é realmente encontrado assim:

select * from t10 where hobby=1;
select * from t10 where hobby=3;
select * from t10 where hobby=7;

Portanto, se quisermos filtrar, por exemplo, descobrir todos os hobbies e dormir, como devemos encontrá-lo?

Como nossa pesquisa acima é uma correspondência estrita, existe uma maneira mais flexível?

6. função find_in_set

Na verdade, as funções podem ser executadas no MySQL:

find_in_set só pode descobrir se um elemento está no conjunto correspondente.

Desta forma podemos:

select * from t10 where find_in_set('睡觉', hobby);

 Encontrado com sucesso.

Escreva no final:

O acima é o conteúdo deste artigo, obrigado pela leitura.

Se você acha que ganhou algo, pode dar um like no blogueiro .

Se houver omissões ou erros no conteúdo do artigo, envie uma mensagem privada ao blogueiro ou indique na área de comentários ~

Acho que você gosta

Origin blog.csdn.net/Locky136/article/details/132135402
Recomendado
Clasificación