Algumas especificações gramaticais:
não diferencia maiúsculas de minúsculas, recomenda-se que as palavras-chave sejam maiúsculas e outras minúsculas.Cada
comando termina com um ponto e vírgula
se for necessário. Pode ser recuado ou alinhado.
Comentário de uma linha:
#Comment text
- comment text Comentário de
várias linhas
/ * texto de comentário * /
A declaração básica
mostra todos os bancos de dados :show databases;
Abra a biblioteca especificada :use 库名;
Veja todas as tabelas na biblioteca atual :show tables;
Veja todas as tabelas de outras bibliotecas :show tables from 库名;
Criar tabela :
create table 表明{
列名 列类型,
列名 列类型 (最后一个就不用加逗号了)
};
Veja a estrutura da tabela :desc 表名;
Ver versão do servidor : select version();
ou cmd
abaixomysql -V / mysql --version
Consulta básica:
select 查询列表 (查询列表可以是:表中的字段,常量值,表达式,函数)
from 表名
O resultado da consulta é uma mesa virtual
Consulte um único campo da tabela :select 需要查询的字段名 from 表名; (注意最后的分号)
Vários campos na tabela de consulta :
select 查询的字段1,查询的字段2,查询的字段3 from 表名; (字段名中间用逗号隔开,顺序可以和原始表不一致)
Todos os campos da tabela de consulta :
método um: select 点击表名(或者手动输入全部的,中间用逗号隔开,F12可以自动调整格式)
método dois:select * from 表名(但是要注意使用* 的时候顺序是和原始表的顺序是一致的)
Nota: No
MYsql, ele é usado diretamente para visualizar valores iguais =
, não ==
.
` Este símbolo não é uma aspa simples, mas um acento. Meu teclado está sob o teclado Esc.
Palavras-chave não repetidas precisam distinguir quando você pode adicionar ênfase
Valor constante de consulta
select 100 ;(100是可以替换的)
select ‘Tom’ ; (用的是单引号,且SQL认为非数值的都是字符)
Expressão de consulta :select 100*98 ;
Função de consulta :select version();
Crie um alias:
Método 1: select 100%98 as 结果; (使用as关键字)
Vantagens: Fácil de entender
Se o campo a ser consultado tiver o mesmo nome, ele pode ser diferenciado usando um alias.
Método 2: select 100%98 as 结果 (省略as关键字,使用空格)
Se o alias contiver palavras-chave ou espaços, você precisa adicionar aspas duplas ou aspas simples. Aspas duplas são recomendadas.
Desduplicação :select distinct department_id from table; (需要加上distinct关键字)
A função do sinal de mais + :
Caso: Consultar o nome do funcionário e o sobrenome do funcionário e exibi-los como nomes
select last_name+first_name as 姓名 from employees;(这个写法是错误的)
select ‘123’+90
; Esta frase é uma tentativa de converter o tipo de caractere em um tipo numérico. Se a conversão for bem-sucedida, continue com a operação de adição. Esta frase pode ser convertida com sucesso. Os caracteres que não foram convertidos são convertidos em 0;
Enquanto uma das partes for Nula, o resultado será Nulo
No MySQL, a função de + é apenas adicionar valores
Como costurar : usar funçõesconcat(str1,str2, ...);
ifnull(表达式1,表达式2);
A expressão 1 coloca um nome que pode estar vazio e a expressão 2 é o valor que você deseja retornar se estiver vazia.
Consulta de condição:
select *
from table
where 筛选条件;
( Ordem de execução : primeiro execute a partir da tabela, primeiro verifique se existe esta tabela, depois execute onde e, finalmente, selecione)
Categoria :
Filtro por expressão condicional:
Operador condicional : >, < , =, <>(!=), >=, <=,
Consulta por expressão lógica:
Operador lógico :and, or, not(&&, ||, !),
Consulta difusa like, between and, in, is null
Exemplo de consulta semelhante:
Encontre o nome que contém a letra a no nome:
select * from table where name like ‘%a%’
(Observe dois pontos, o caractere deve estar entre aspas simples, porque a pode estar no meio ou atrás, então adicione% para indicar um curinga
Curinga:
%
qualquer número de caracteres (incluindo 0 caracteres)
_
representa qualquer caractere único
Se você precisar encontrar um nome que contenha um sublinhado:
adicione um caractere de escape antes dele: \
mas é recomendado $ ;escape ‘$’;
($ pode ser especificado arbitrariamente)
between and
É um valor crítico
in:
Determine se um determinado valor pertence a um determinado item na lista.
Vantagens de usar em: melhora a concisão da frase;
os tipos de valores na lista devem ser unificados ou compatíveis (sublinhado ou% não é compatível)
is null
Contrário is not null
=
ou <>
não usado para determinar um valor nulo
, mas pode ser escrito como<=> null
A <=>
legibilidade igual da segurança é pobre, não muito recomendada
Consulta de classificação SQL:
order by 排序列表 asc(升序:从低到高) | desc(降序:从高到低)
O padrão é crescente
A função length()
pode ser classificada de acordo com a função, o comprimento pode ser encontrado
Classificar por vários campos :order by 字段1,desc, 字段2,asc;
order by
Palavras e frases geralmente são as últimas, limit
exceto para cláusulas
Ordem de execução:from table , where , select, order by
Função :
Método para chamar:select 函数名(实参列表) from 表
Função de uma linha :concat., ;length, ifnull
Função de agrupamento: usada
para estatísticas,
também conhecida como função estatística, função de agregação, função de grupo
Função de caractere:
length
utf8 O próximo caractere chinês ocupa três bytes.
concat
Conecte
upper
em maiúsculas
lower
e minúsculas
substr/substring
(observe que o índice começa em 1).
substr(“TomAndBob”,5);
Esta frase significa a saída da string após o índice 5.
substr(“TomAndBob”,2,5);
Esta frase significa a saída do índice Os 5 caracteres após 2 são
instr(str1,str2)
usados para retornar o índice inicial de str2 em str 1. Se não for encontrado, 0 é
trin()
usado para remover as letras especificadas antes e depois dele, se não for especificado, o espaço será removido.
Exemplo: trin(‘a’ from ‘aaajkjjjsjjsjjsssaaaajjjjjjjjaaaaaaaaaaaa’);
(Observe que esses são os caracteres especificados antes e depois da remoção, não incluindo o meio)
lpad
(Observe que a letra L, não i)
lpad(‘str1’,10,’*’);
Preencha os caracteres especificados à esquerda, e o comprimento final é consistente com o comprimento especificado, embora o comprimento especificado possa ser maior que str1 deve ser pequeno. Substituição de
rpad:
preenchimento à direita
replace:
: substitua (str1, str2, str3), substitua str2 na string str1 por str3;
Funções matemáticas:
round()
arredondado
Exemplo: arredondado (1.65) como resultado de 2, redondo (1.65,1) segurando os dois após o ponto decimal ser
ceil()
arredondado para cima
floor()
arredondado para baixo exemplo
truncate()
truncado
: turncate(1.69,1)
significa para um
mod()
módulo decimal
Função de data:
now()
retorna a data e hora atuais do sistema
curdate()
retorna a data atual, excluindo a hora
curtime()
retorna a hora atual, excluindo a data
select year(now())
Você só
select year(‘1998-1-5’)
pode entrar, só pode entrar
se precisar exibir o nome em inglês, que você pode usar year_name()
para alcançar
Função de controle de fluxo :,
if(expr1, expr2, expr3)
se expr1
verdadeiro, o valor é expr2
, caso contrário expr3
(semelhante ao operador ternário)
case:
Uso 1: case
Adicione a variável ou expressão que precisa ser avaliada
when 常量1 then 要显示的值1或语句1;
when 常量2 then 要显示的值2或语句2;
...
else 要显示的值n或语句n;
end
Uso 2:case
when 条件1 then 要显示的值
when 条件2 then 要显示的值
...
else 要显示的值或者语句
end